0

我有一个应用程序,它在 GPS 的帮助下跟踪位置。现在,当我返回时,跟踪仍在继续。即使我按下退出按钮,这种情况也会继续。我使用了 finish() ,但是当我按下退出按钮时 GPS 并没有停止。

4

3 回答 3

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);;
    }
于 2012-08-14T11:49:19.240 回答
0

您的活动需要实现该onPause方法,该方法在用户离开时触发。在其中,您可以通过调用以下命令停止 GPS:

myLocationManager.removeUpdates(myLocationListener);
于 2012-08-14T11:53:15.593 回答
0

看到您的代码中有 a ,这将自行MyLocationOverlay启动 a 。SensorThread您也必须禁用它。

protected void onPause() {
    //....your code
    myLocationOverlay.disableMyLocation();
}

它也会关闭它。

于 2012-08-14T12:21:52.527 回答