正如文档所说的那样removeUpdates(LocationListener listener):
使用给定的 LocationListener 删除当前活动的位置更新的任何当前注册。
您的当前代码仅使用给定的 LocationListener 删除当前活动的位置更新的任何当前注册,而不是停止 GPS 或从状态栏中删除图标。所以您是否要停止 GPS,那么您有两个解决方案
第一个解决方案:通过代码停止(仅适用于 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
第二个解决方案:启动 Gps 设置活动:
startActivityForResult(new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS), 1);