我正在开发位置跟踪应用程序。但是我通过做两件事来停止获取位置更新......
- locationManager.removeUpdates(this); 和
- 将 locationManager 引用设置为 null。
这将停止获取我想要的位置坐标......
但问题是 gps 图标仍在闪烁......这会耗尽设备的电池。
所以请帮助我停止这个 GPS 修复......
我正在开发位置跟踪应用程序。但是我通过做两件事来停止获取位置更新......
这将停止获取我想要的位置坐标......
但问题是 gps 图标仍在闪烁......这会耗尽设备的电池。
所以请帮助我停止这个 GPS 修复......
如果您在 mapView 中显示您的位置和/或指南针,您必须禁用它们。如果您不这样做,则 GPS 仍处于活动状态。
前任 :
private MapView mapView;
private MyLocationOverlay Location;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.frame_layout);
mapView = (MapView) this.findViewById(R.id.mapView);
Location = new MyLocationOverlay(this, mapView);
Location.enableMyLocation();
Location.enableCompass();
mapView.getOverlays().add(Location);
}
@Override
public void onDestroy() {
Location.disableMyLocation();
Location.disableCompass();
}
除了上面的答案,在您描述的情况下,我建议您仔细检查您项目中使用的第三方库,尤其是一些分析库。
在我意识到 GPS 图标是由错误安装的 Flurry 引起的(FlurryAgent.setReportLocation(true)
已设置onEndSession()
但未调用onStop()
)之前,我非常头疼。
如果您在模拟器上进行测试,这是完全正常的行为。状态栏中的 GPS 图标永远不会消失。
如果你在硬件上测试这个,要么你已经调用requestLocationUpdates()
了不止一次(并且没有删除其他更新),或者硬件上的其他东西正在使用 GPS。