2 项活动收到有关 GPS 状态更改的通知

2 Activities get notified on GPS Status Changed

我有 A ActivityB Activity,都实现了 LocationListener。所以两者都有

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

我从A Activity开始B Activity。当我在 B 上关闭 GPS 时,它会打开 AlertDialog,如代码所示,然后我打开 GPS 并关闭 AlertDialog。现在当我 return 回到 A Activity 它也显示 AlertDialog 因为它在几秒钟前关闭 GPS 时收到通知。

我认为即使我从 A 打开 BA 也没有完全销毁并保存在后台。那么我如何在不从 Activity Backstack 中删除 A 的情况下解决这个问题? App should only open AlertDialog on which Activity is on屏幕。

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

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

然后当 return 来自 B..

onResume(..){
// start gps listening here
}