0
ユーザーが自分のアプリケーションを開いたときにサービスを開始したいときや、サービスをバインドする必要があるアクティビティやユーザーがアプリケーションを閉じるときにサービスを停止する。アプリケーションが破棄されたときにサービスのバインドを解除する方法
質問はどこでサービスを停止できますか?私のアプリが開いているときに私のサービスが働きたい。
Application.onCreate()
メソッドでサービスを開始しましたが、Application
にはonDestroy()
メソッドがありませんでした。
ランチャーアクティビティonDestroy
で停止しようとしましたが、メモリが不足しているときにシステムがリカバリランチャアクティビティになるため、これは良い方法ではないと私は考えていません。
「私は私の活動の一部は、サービスをバインドする必要があり、ユーザーが自分のアプリケーションを開いたときにサービスを開始したい、そして、ユーザーが自分のアプリケーションを閉じたときに、私はサービスを停止する」 - サービスは何を与えていますあなたは、通常のJavaオブジェクトでは処理できないことはありますか? – CommonsWare
私は、アプリケーションが開いているときにサーバーとのTCP接続を維持したい、いくつかのアクティビティはメッセージを送信するソケットが必要です。私はこれがサービスのための仕事だと思う、今までこれを行うための他の方法を見つけることができない。 –
"今までこれを行う別の方法は見つけられません" - 通常のJavaオブジェクトをシングルトンの 'AppConnectionManager'などで使用します。再び:これはなぜサービスになる必要がありますか? – CommonsWare