0

Android 用の xmpp チャット クライアントを作成しています。asmack に関連するすべての作業が完了し、メイン アクティビティでフレンド リストを取得して表示できます。また、友達からチャット メッセージを受け取ることもできます。チャット ウィンドウからサービスにデータを送信できません。友達に返信したり、チャット メッセージを送信したりできるようにします。私は例を調べましたが、私が欲しいものを正確に持っている人はいません。サービスは特定のアクティビティにバインドされていませんが、多くのアクティビティがサービスにデータを送信できるため、onbind メソッドを使用できないことに注意してください。論理的な説明が良いでしょう。これを正確に行うコードサンプルについて知っている人がいれば、それは素晴らしいことです。また、xmpp 接続がチャット メッセージを受信したときに、サービスからチャット ウィンドウを更新する必要があります。

前もって感謝します

4

2 に答える 2

0

BroadcastReceiver を Service に定義し、任意の数のアクティビティでブロードキャスト メッセージを送信できます。また、Broadcast Receiver を Activity に定義して、サービスによって送信されたメッセージをリッスンすることもできます。

于 2012-06-15T04:16:03.737 に答える
0

Service.OnStart メソッドで onStart メソッドをオーバーライドする必要があります。アクティビティの意図を取得できます。アクティビティからサービスに ArrayList を渡したい場合は、arraylist を配列に変換できます。

In you アクティビティ

Intent intent=new Intent(ActivityName.this,Service.class);         
Bundle b=new Bundle()
b.putStringArray("Array", your_array)
intent.putExtras(b);
startService(intent);

あなたのサービスで

public void onStart(Intent intent, int startid){
    super.onStart(intent, startid);
    Bundle b=intent.getExtras();
    String[] Array = b.getStringArray("Array");
}
于 2012-06-15T04:50:49.457 に答える