私は Android を初めて使用するので、次の解決策が正しいことを確認したいと思います。
問題: Web サービスを介して、デバイスのローカル データベースをサーバー上のデータベースと 10 分ごとに同期したいと考えています。新しい/更新されたレコードを返す Web サービス呼び出しを既に持っています。私が疑問に思っているのは、このタスクをスケジュールする最良の方法は何ですか。アプリケーションが実行されていないときでもデータベースを同期したい。
私の解決策(これは正しいルートですか?):android.intent.action.BOOT_COMPLETEDをリッスンするBroadcastReceiverが1つあり、onReceiveで10ごとに(PendingIntentを介して)MyReceiverにメッセージを送信するAlarmManagerを作成します分。また、アプリケーションの起動時に同じことを行います (PendingIntent を介して MyReceiver にメッセージを送信するアラームを作成します) - 両方のアラームが MyReceiver にメッセージを送信し、対応する PendingIntents が PendingIntent.FLAG_UPDATE_CURRENT で初期化されるため、新しいアラームが古いもの?(これは私がやりたいことです。何らかの理由でデバイスの起動後にアラームがキャンセルされた場合、アプリケーションの起動時にアラームを再起動する必要があります)。
MyReceiver の onReceive() で、MyIntentService を作成します (このインスタンスは Web サービス呼び出しを行い、ローカル データベースを更新します)。
これは良い解決策ですか?助言がありますか?
ありがとう