我有一个应用程序,可以在GPS的帮助下跟踪位置。现在,当我回来时,追踪仍在继续。即使按下退出按钮,这也会继续。我使用了finish(),但是当我按下退出按钮时GPS不会停止。
答案 0 :(得分:1)
中断GPS:
myLocationManager.removeUpdates(myLocationListener);
对按键后退事件不执行任何操作:
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK) {
myActivity.finish();
}
if (keyCode == KeyEvent.KEYCODE_HOME) {
myLocationManager.removeUpdates(myLocationListener);
myActivity.finish();
}
return super.onKeyDown(keyCode, event);;
}
答案 1 :(得分:0)
您的活动需要实施onPause
方法,该方法在用户离开时触发。在其中,您可以通过以下方式停止GPS:
myLocationManager.removeUpdates(myLocationListener);
答案 2 :(得分:0)
如果您的代码中有MyLocationOverlay
,则会自行启动SensorThread
。你也必须禁用它。
protected void onPause() {
//....your code
myLocationOverlay.disableMyLocation();
}
它也将关闭它。