私は Android で少し遊んでいて、アクティビティとサービスを備えた小さなアプリを書いています。アクティビティは、ボタンのクリックでサービスを開始し、URI からいくつかのデータをフェッチして、結果として返す必要があります。場合によっては、データが利用できないか、基準を満たしていないため、アクティビティがバックグラウンドであっても、サービスは X 分ごとに再試行する必要があります。
Intent
and ResultReceiver
(バンドルで渡される)を介して、アクティビティとサービスの間の通信を実装しました。サービスを実装するときに、新しいコンポーネントを使用したかったのですが、オブジェクト ( )を追加できず、基本型JobScheduler
しか受け入れられないことがわかりました。PersistableBundle
Parcelable
ResultReceiver
ネットワークが利用可能になったときに実行され、X 分ごとにデータをチェックするジョブをスケジュールするサービスが必要です。取得したら、データをサービスに返して、それが受け入れられるか、再試行する必要があるかを判断できるようにします。サービスがデータを受け入れると、 を介してアクティビティにデータが返されResultsReceiver
ます。
ResultsReceiver
と一緒に使用することはできません。また、インスタンスJobService
を作成しないため( によって行われる)、コールバック オブジェクトへの参照を渡すこともできません。JobService
JobInfo.Builder
スケジュールされたジョブとそれを呼び出したサービスとの間で通信するにはどうすればよいですか?
Androidに詳しくないので、些細なことでしたら申し訳ありません..
ありがとう!