有一个IntentService每隔10秒更新一次位置。
mIntentService = new Intent(mActivity.getApplicationContext(), MyService.class);
mPendingIntent = PendingIntent.getService(mActivity.getApplicationContext(), 0,
mIntentService, PendingIntent.FLAG_UPDATE_CURRENT);
mLocationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER,
10*1000, 0, mPendingIntent);
当应用程序被杀时,位置更新不会停止,它仍然每10秒运行一次。我无法删除onDestroy()方法中的位置更新,因为即使我们离开活动,也必须运行此服务。当应用程序被杀时,位置更新服务如何自动解决?
答案 0 :(得分:0)
完成后,您需要删除mLocationManager
的更新
locationManager.removeUpdates(this);
答案 1 :(得分:0)
mLocationManager.removeUpdates(本);已经足够了,但是也可以检查以确保您的应用程序不会崩溃。如果这对您有帮助,请单击左侧的标记。
@Override
public void onDestroy() {
super.onDestroy();
removeLocationUpdates();
}
public void removeLocationUpdates(){
if( mLocationManager != null && networkLocationListener != null ){
if( mLocationManager.isProviderEnabled( LocationManager.GPS_PROVIDER ) ){
mLocationManager.removeUpdates(networkLocationListener);
}
}
}