Service
通知を受け取るために、サーバーへの永続的な接続を維持する必要がある があります。アプリがサーバーからメッセージを時間どおりに取得することが重要です。
接続がローカル ネットワークにあり、電話がインターネットに接続されていない可能性があるため、GCM プッシュを使用できません。サービス内で永続的な接続を維持する際のバッテリーの問題についても知っていますが、ユーザーにこのオプションを選択させ、バッテリーの消耗の可能性について通知します (実際、この機能は、デバイスが常に同じ状態にある場合に主に意味があります。電源に接続されている場所)。また、Android システムがいつでも私のサービスを強制終了できること、またはユーザーがタスク キラーを使用して、その時点で実行されているすべてのサービスを削除できることも知っています。
そうは言っても、AlarmManager
定期的に を使用して実行中かどうかを確認し、Service
実行していない場合は再起動することを考えました。サービスが強制終了された後でもサーバーはメッセージを送信できますが、AlarmManager
.
私の質問は基本的に、メッセージを時間通りに確実に受け取るためのより良い戦略があるかどうかです。
これまでのところ、私が見つけることができるすべての関連情報は、恒久的なサービスを避けて他のものを使用することを意味していますが、ユースケースの性質上、他に選択肢はありません.