方法LocationListener.onLocationChanged在单独的服务之后不会在活动后调用,它会销毁该服务

时间:2014-11-16 14:03:32

标签: android service location

在启动服务的活动被销毁后,不会在单独的服务中调用LocationListener.onLocationChanged。

МетодLocationListener.onLocationChangedвотдельномсервисеневызываетсяпослезавершенияработыактивности,котораязапустиласервис。

在onCreate方法关闭活动中:

locationService = new Intent(this, LocationService.class);
locationService.putExtra("MESSENGER", new Messenger(messageHandler));
startService(locationService);

此代码服务从未在活动中停止。

活动正在运行时,位置更新已正确收到。

销毁活动后,服务仍然停止运行,但未收到位置更新。

在LocationService类中

locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
Criteria criteria = new Criteria();
locationProvider = locationManager.getBestProvider(criteria, false);
locationManager.requestLocationUpdates(locationProvider, 0, 0, this);

1 个答案:

答案 0 :(得分:0)

仅在模拟器中发生。在真实设备上,服务继续运行并尝试获取位置更新。