onPause(),来自主页和后退按钮

时间:2015-05-12 11:14:13

标签: android gps back-button onpause android-homebutton

我正在创建一个使用locationManager()来处理来自GPS的更新的应用程序。当应用程序关闭时,我希望来自locationManager的更新停止并且此时有这段代码。

@Override
protected void onPause() {
    super.onPause();
    if(locationManager != null){
        locationManager.removeUpdates(locationListener);
}

当我使用后退按钮退出应用程序时,会调用 onPause()并停止GPS。这里没什么奇怪的。但是,如果我按下主页按钮,状态栏中的GPS标记仍然可见,即使onPause被称为相同。

1 个答案:

答案 0 :(得分:0)

这是因为当您退出带有后退按钮的应用程序时,Activity被销毁(接收onDestroy回调)。并且由于没有使用GPS标记的过程也是隐藏的。如果您锁定设备屏幕或按主页按钮应用程序仍在运行但活动已停止。 使用您的代码,您在onPause之后无法获得任何GPS更新,直到您再次注册它们为止。