2 项活动收到有关 GPS 状态更改的通知
2 Activities get notified on GPS Status Changed
我有 A Activity
和 B 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
打开 B
,A
也没有完全销毁并保存在后台。那么我如何在不从 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
}
我有 A Activity
和 B 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
打开 B
,A
也没有完全销毁并保存在后台。那么我如何在不从 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
}