我用它来恢复用户的位置:
locManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);
locManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,5000,1000, this);
Location location = locManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);
问题是,当我只想一次使用它时,位置似乎总是启用。
如何停止该位置(当用户"暂停"应用程序等)?
我尝试过,在我的功能" onPause" :
locManager.removeUpdates(this);
locManager = null;
但它没有运行。
答案 0 :(得分:1)
您需要致电
super.onPause()
所以onPause()函数看起来像:
public void onPause(){
locManager.removeUpdates(locListener);
super.onPause();
}
如果您尚未设置locationListener并获取NullPointerException,请将removeUpdates包装在空检查中:
if (locManager != null)
locManager.removeUpdates(this);