0

私は と を持ってA ActivityおりB Activity、両方とも を実装していLocationListenerます。だから両方持ってる

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

B Activityから始めA Activityます。GPSをオフにすると、コードに示されているようにB開き、 GPSをオンにして閉じます。GPSが数秒前にオフになったときに通知されるため、戻ってきたときにも表示されます。AlertDialogAlertDialogA ActivityAlertDialog

Bから開いてもAA完全に破棄されず、バックスタックに保存されていると思います。AActivity Backstack から削除せずにこの問題を解決するにはどうすればよいですか? アプリはAlertDialog、画面上にあるアクティビティでのみ開く必要があります。

4

1 に答える 1

1

アクティビティ A の onPause または onStop メソッドで GPS のリッスンを停止する必要があります。onResume でリッスンを開始します。のようにA

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

そしてまたBから戻ってきたとき..

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