我创建了一个具有“地理定位”功能的应用程序,该功能负责像许多其他应用程序一样在 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
是“不会停止”并产生问题的听众。