Gps Location を聞いているバックグラウンド アクティビティがあります。その上にマップ アクティビティがあります。
アクティビティが既に開始された後にバックグラウンドでイベントが発生した場合、マップ アクティビティに通知するにはどうすればよいですか?
- この種の質問はすでに回答されていると思いますが、多くのキーワードでググってみましたが、うまくいきませんでした。重複していたら申し訳ありません。他の回答への参照もいただければ幸いです。
ありがとう。
Gps Location を聞いているバックグラウンド アクティビティがあります。その上にマップ アクティビティがあります。
アクティビティが既に開始された後にバックグラウンドでイベントが発生した場合、マップ アクティビティに通知するにはどうすればよいですか?
ありがとう。
バックグラウンド タスクを実行するためにアクティビティを使用しないでください。非常に非効率的です。Serviceを使用し、 IntentsおよびBroadcastReceiverと通信することをお勧めします。サービスは、これらの種類の操作を実行するように設計されています。
AsyncTaskを使用して、 Handlerを使用してメイン スレッドと通信することもできます。
(すべてのリンクは参照用の Android ドキュメントへのリンクです)
ブロードキャストを使用して、Intent
(Android プラットフォームのコンポーネント間の通信の主要な単位である) でデータを渡すことができます。BroadcastReceiverのドキュメントを確認してください。うまく綴られています。
また、送信者とアクティビティが同じプロセスにある場合は、LocalBroadcastManagerを使用してIPC オーバーヘッドを回避できることに注意してください。