我创建了一个具有“地理位置”功能的应用程序,该功能负责像许多其他应用程序一样在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);
因此,当应用程序关闭时,您使用的所有服务都将关闭.