0

我有A Activityand B Activity,都实现了LocationListener. 所以两者都有

@Override
public void onProviderDisabled(String provider) {
    // Open AlertDialog
}

B ActivityA Activity. 当我关闭 GPS 时B,它会AlertDialog按照代码所示打开,然后我打开 GPS 并关闭AlertDialog。现在,当我返回A Activity它时,它也会显示AlertDialog,因为它会在几秒钟前关闭 GPS 时收到通知。

我认为即使我B从中打开AA也不会完全销毁并保存在后台堆栈中。那么如何在不A从 Activity Backstack 中删除的情况下解决这个问题呢?应用程序只能AlertDialog在屏幕上的任何 Activity 上打开。

4

1 回答 1

1

您应该停止在 Activity A 的 onPause 或 onStop 方法中收听 gps。并开始在 onResume 中收听。像A

onStop(..){
// stop gps listening here
}

又是从 B 回来的时候。。

onResume(..){
// start gps listening here
}
于 2015-12-02T14:49:24.760 回答