0
public void getCurrentLocation(){
final LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);
LocationListener locationListener = new LocationListener() {
public void onLocationChanged(Location location) {
//
}
public void onStatusChanged(String provider, int status, Bundle extras) {
}
public void onProviderEnabled(String provider) {}
public void onProviderDisabled(String provider) {
if(provider=="gps"){
Toast.makeText(getApplicationContext(), "GPS is off", Toast.LENGTH_LONG).show();
startActivity(new Intent(android.provider.Settings.ACTION_LOCATION_SOURCE_SETTINGS));
}
Log.i("lm_disabled",provider);
}
};
locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,0,0, locationListener);
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,0,0, locationListener);
}
これは正当なコードのようです。ただし、if式は決して実行されません。私はアプリケーションをデバッグしましたが、プロバイダーは "gps"ですが、文字列型ですが、falseが返された場合は...onProviderDisabled - プロバイダを区別する
私はここで何が欠けていますか?
ありがとうございました!それは働いている。 – WraithLux
これは今後変更される可能性があるため、 "gps"の代わりにLocationManager.GPS_PROVIDERも使用する必要があります。 – Rick