私は地下鉄ガイドアプリを開発しています。新しい駅に着いたら、通知がポップアップし、メインアクティビティに表示されている地図が更新されます。私はガイドコードをサービスに入れて、ユーザーがガイドされている間に他のアプリを実行できるようにします。しかし、新しい駅に着いたら、主な活動をリフレッシュする必要があります。どのようにして、主な活動のビューにサービスを変更することができますか?アンドロイドサービスとアクティビティとのやり取り
2
A
答えて
-1
サービスSとの間でデータを共有するための最良の方法とアクティビティA
が必要とされているものは何でも取得するために、サービスの公開APIを呼び出して、その後、地元の結合パターンを使用してサービスSに結合する活性を有しています。
外部アクティビティBはどのようにしてサービスSと通信して、すべての前処理で完了し、アクティビティAを呼び出す準備ができているかを判断できますか?
リモートバインディングパターンとAIDLを使用します。アクティビティBは、AIDL定義のコールバックをサービスSに登録します。サービスSは、適切なときに呼び出されます。例として、hereとhereを参照してください。あなたの活動で
0
、あなたは宣言
ReceiverTest mReceiver = new ReceiverTest();
IntentFilter filter;
filter = new IntentFilter("packagename.dosomething");
registerReceiver(mReceiver, filter);
次に、あなたの活動のOnCreateの中でそれを登録し、あなたのサービスでは、放送
public class ReceiverTest extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
// extras from service
int key = intent.getIntExtra("key", 0);
//do things here
}
}
第1の受信機を受信機
を登録する必要がありますイベント
Intent i = new Intent("packagename.dosomething");
// You could put the information in extras, then get the value in receiver
i.putExtra("key", 123);
context.sendBroadcast(i);
0
これを行うにはいくつかの方法があります。 サービスをアクティビティにバインドできます。 ブロードキャストメッセージをアクティビティに送信できます(アクティビティはブロードキャストレシーバに登録する必要があります) このトピックについては多くの議論があります。あなたはそれらを通過することができます。
関連する問題
- 1. ユーザーとJavaScriptとのやり取り
- 2. login.aspxとdefault.aspxの間のやり取り
- 3. WCFサービスのホストオブジェクトとのやり取り
- 4. SeleniumのPDFポップアップとのやり取り
- 5. Exchange 2007とのやり取り
- 6. JFrameとFrameViewオブジェクトのやり取りは?
- 7. ウェブとやり取りするプログラム
- 8. アクティビティ間でデータをやりとりするAndroid
- 9. Androidのアクティビティ間でデータをやりとりするより良い方法
- 10. シャットダウンユーティリティとMac OS Xのターミナルとのやり取りは、
- 11. アンドロイドサービスと「アラートウィンドウ」
- 12. Webアプリケーションとクライアントとのやり取りは?
- 13. サービスとユーザーとのやり取りに最適な方法
- 14. アンドロイドサービスとの通信
- 15. MKMapView didDelectlectAnnotationViewとUITableViewとのやりとり
- 16. UIViewアニメーションのやりとり
- 17. Androidウェブのやりとり
- 18. Codeigniterモジュールのやりとり
- 19. クラスのやりとり
- 20. iPodのやりとり
- 21. 別々のフレームとのやりとり
- 22. RubyのYahoo Placemakerとのやりとり
- 23. C#のWebページとのやりとり
- 24. JavaScriptとのAndroidデータオブジェクトのやりとり
- 25. Android webViewとJavascriptのやりとり
- 26. サーバーとクライアントのやりとり
- 27. tcpサーバとクライアントのやりとり
- 28. アクティビティインジケータとバックグラウンドのやりとり
- 29. JUnit @Ruleライフサイクルと@Beforeのやりとり
- 30. コアグラフィックとUIKitのやりとり
あなたはちょうどこれをコピーしましたhttp://stackoverflow.com/a/3066579真剣に? – xmen