答えて
あなたのアプリ独自のサービスであるにもかかわらず、BoundServiceを使用することをお勧めします。定義上、バインドされたサービスは、las接続が切断されると停止します。
もう1つの考え方は、アプリケーションオブジェクトでカウントを定義することです(グローバルアプリケーションオブジェクトをオーバーライドできます)。各onResumeでカウントを増やすことができ、各onPauseで減分することができます。
あなたは最終的にはメイン機能に/しようと使用し、サービスは、最終的なブロックあなたはシャットダウン・コマンドを発行するオブジェクトのファイナライザを使用することができ
でクリーンアップを行うことができます。ガベージコレクタは独自のペースで実行されるので、発生するタイミングは正確にわかりませんが、最終的に発生することはわかります。
あなたは、Androidがメモリからのアプリを掃除されたときに知っている(ただし、推奨されません)onDestroy()
を使用して試みることができます。アクティビティがバックグラウンドでいつ送信されているかを知るためにonStop()
を使用することもできます。
アクティビティスタックの最初のアクティビティでこれら2つのメソッドを実装します。
私はまだそれを試していないので、それが役立つかどうかを見てみましょう。
なぜあなたはonDestroyをお勧めしませんでしたか? – FrioneL
は、おそらくアクティビティがメモリから消去されている場合にのみ呼び出されるためです。これがいつ起こるかわからない場合があります –
私は今、同じ問題を解決しています。アイデアがあり、それを実装します: 1.static変数(String currentShownActivity)が呼び出されました。 2.すべてのアクティビティ(onResume())で、変数にアクティビティ名を入力します)。だから私は、アクティビティの間を移動するとき、currentShownActivity変数が変更され、現在のアクティビティ名を持ちます。 3. onPause()ごとにonPause()アクティビティを呼び出す(つまりブール値IsPauseCalled) 4.in onStop()にIsPauseCalledとアクティビティ名をチェックするフラグを設定します。 アクティビティonPauseが呼び出され、currentShownActivityの名前が変更されていない場合(アクティビティは「アクティビティなし」のままです)、その[ホーム]キーが押されたことを意味します。
アプリケーションを知る統合方法が実行されていません。メインアクティビティのonDestroyを確認してください。
- 1. Androidでアプリケーションが終了したときに通知を受け取る方法
- 2. アプリケーションが強制終了したときに通知を表示する方法
- 3. ViewModelでアニメーションが終了したときを知る方法?
- 4. セッションが終了したときを知る方法
- 5. アプリケーションが終了したときに通知からアクティビティを起動中にアプリケーションが終了する
- 6. ストリームが終了したことを知る方法C#
- 7. fitToView()が完全に終了したことを知る方法
- 8. Bashスクリプト - プログラムが終了したことを知る方法
- 9. Android:SoundPoolの再生が終了したことを知る方法?
- 10. アプリケーションが終了したときのイオンバックグラウンドサービス
- 11. NSWindowが終了したときに通知を受ける方法
- 12. iOS - ユーザーがアプリケーションを終了したときにプッシュ通知を検出する
- 13. iOS - アプリケーションが終了したときにサイレントプッシュ通知を処理する
- 14. アプリが終了したときの通知通知(iOS)
- 15. ユーザーがボタンをタップしたときにアプリケーションを終了させる方法
- 16. rotationXが終了した後の瞬間を知る方法
- 17. Flaskアプリケーションが終了したときにGunicornを停止する方法
- 18. アプリケーションが終了したときにクリップボードを保持する方法
- 19. アプリケーションが終了したときにListViewを保存する方法
- 20. スレッドが終了したときを知る
- 21. MotionEventが終了したときを知る
- 22. Pythonのサブプロセス:コマンドが終了したときを知る
- 23. アプリが終了したときに通知を受ける
- 24. アプリが終了したときの通知をスケジュールする
- 25. iPhoneのアプリケーションを終了した後、通話終了通知を受け取る方法は?
- 26. UIPickerViewDataSourceが終了したときを知りたい場合
- 27. OSMFプレーヤーが終了したときの通知方法ビデオの再生
- 28. AndroidとiosのCodenameを使用してアプリケーションを終了/最小化したときの通知方法
- 29. ループ内のコールバック:すべて終了したときを知る方法?
- 30. アプリが終了したときにプッシュ通知によるディープリンク
最初のポイントをもっと説明できますか?私はサービスをアクティビティに限定していますが、アクティビティではなくアプリケーションが終了したらサービスを終了する必要があります。 – FrioneL
はい、私は急いでいました。世界の数は私が恐れる解決策ではありません。 多分グローバルアプリケーションを完成させるでしょうか? – slkorolev