android – 关闭应用程序后,GPS更新不会关闭

我创建了一个具有“地理位置”功能的应用程序,该功能负责像许多其他应用程序一样在Google地图上发现用户.我使用“LocationManager.NETWORK_PROVIDER”来定位用户,同时我实例化并启动“MyLocationOverlay”(在onLocationChanged()方法中)以获取位置.由于第二个,GPS打开(顶部闪烁)即可.

问题是,在应用程序关闭后(后退按钮或通过任务管理器),GPS功能仍然挂在那里,试图获取更新.

用户离开活动后如何关闭它?我尝试了来自这里和其他论坛的建议,例如放置locationManager.removeUpdates(this);和locationManager.removeUpdates(mMyLocationOverlay);在onPause(),onStop(),onDestroy()方法中. OnPause方法如下所示:

@Override
protected void onPause() { 
  super.onPause(); 
  locationManager.removeUpdates(this);
  locationManager.removeUpdates(mMyLocationOverlay);
} 

(‘this’引用我实现LocationListener的类)

请有人帮助我在离开活动后关闭GPS更新(这是一个扩展MapActivity的课程),但不能关闭手机本身的GPS功能吗?

有趣的是,当我用MyLocationOverlay删除部件时,GPS当然不会启动,因此没有问题.所以我很确定mMyLocationOverlay是“不会停止”并产生问题的监听器.

解决方法:

如果要关闭(或结束)可以使用的应用程序

System.exit(0);

因此,当应用程序关闭时,您使用的所有服务都将关闭.

上一篇:c# – Accord KDTree具有自定义距离功能


下一篇:android – 使用ng-href与geo:在Cordova中的Uri不起作用