docがremoveUpdates(LocationListenerリスナー)について述べているように:
指定されたLocationListenerでの現在のアクティビティのロケーション更新の現在の登録を削除します。
現在のコードは、GPSを停止したり、ステータスバーからアイコンを削除したりせずに、指定されたLocationListenerで現在のアクティビティの位置を更新するための現在の登録のみを削除します。GPSを停止したい場合は、2つの解決策があります。
最初の解決策:コードで停止します(Android 2.3より下でのみ機能します):
try{
String provider = Settings.Secure.getString(getContentResolver(), Settings.Secure.LOCATION_PROVIDERS_ALLOWED);
if(!provider.contains("gps")){
final Intent poke = new Intent();
poke.setClassName("com.android.settings", "com.android.settings.widget.SettingsAppWidgetProvider");
poke.addCategory(Intent.CATEGORY_ALTERNATIVE);
poke.setData(Uri.parse("3"));
sendBroadcast(poke);
}
}
catch(Exception e)
{
Log.d("Location", " exception thrown in enabling GPS "+e);
}
Manifest.xmlでのアクセス許可:
android.permission.WRITE_SECURE_SETTINGS
2番目の解決策: GPS設定を起動しますアクティビティ:
startActivityForResult(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS), 1);