私は、XMPPメッセージを傍受してアクションを実行するバックグラウンドプロセスを開発しようとしています。私はメインのXMPPライブラリとしてasmackを使用しています。私は特定の意図に応答するbroadcastRecieverが必要だと思う。疑問は、その意図をどのように引き上げるかです。この機能はGoogleトーククライアントに存在するため、これが可能でなければなりません。 多くのおかげです。AndroidでのXMPPイベント
4
A
答えて
1
私は、特定のインテントに応答するbroadcastRecieverが必要です。
おそらくそうではありません。 aSmackは主にAndroidとは関係のないSmackと思われるため、Intentsという概念はありません。
この機能はGoogleトーククライアントに存在する必要があります。
「google talk client」は、Smack、AFAIKを使用していません。
2
この動作を本当にしたいのであれば、asmack XMPPクライアントを実行している永続的なバックグラウンドサービスについて考えるかもしれません。 XMPPクライアントのリスナーメソッド(processPacket)がインテントを呼び出す可能性があります。このインテントを別のアプリケーションまたはこのアプリケーション内でBroadcastReceiverを使用してキャッチすることができます。
final Context context = getContext(); // or getApplicationContext(). context must be final.
PacketFilter packetFilter = new MessageTypeFilter(Message.Type.chat);
connection.addPacketListener(new PacketListener() {
@Override
public void processPacket(Packet packet) {
Message message = (Message) packet;
if (message.getBody() != null) {
String from = StringUtils.parseBareAddress(message.getFrom());
Intent intent = new Intent();
intent.setAction("your.package.XMPP_PACKET_RECEIVED");
intent.putExtra("from", from);
intent.putExtra("body", message.getBody());
context.sendBroadcast(i);
}
}
}, packetFilter);
また、意図を受け取り、XMPP経由で送信しBroadcastReceiver(またはIntentService)を作成することにより、他の通信方向を実装しようとすることができます。 BackgroundReceiverは、各メッセージに対して新しいコネクションを作成する必要があります。これは、低速ですが省エネルギーになります(XMPPセッションを生かし続ける必要はありません)。
関連する問題
- 1. Android Jabber(XMPP)クライアント
- 2. android with XMPP
- 3. Android xmppバディステータスエラー
- 4. Android、Openfire、Smack、XMPP
- 5. AndroidとXMPPのジングル
- 6. xmppのリストビューandroid application
- 7. Android xmppエラーホスト不明
- 8. ネイティブAndroid対応のXMPPライブラリ
- 9. xmpp接続のNetworkOnMainThreadException Android Studio
- 10. XMPP(Openfire)プッシュ通知Android
- 11. チャットアプリAndroidでejabberd 16とXMPPを使用
- 12. Smack XMPP android接続時のクラッシュ
- 13. Android xmpp MUC設定のデフォルト設定
- 14. androidのXMPPパケットをリッスンする
- 15. XMPPマルチデバイスとxmppチャットメッセージの同期
- 16. XMPPサーバー名とXMPPサービス名の違い?スマックのAPIでは
- 17. XMPPでのスタンザの実装
- 18. XMPPでのプレゼンスの照会
- 19. XMPPのバックグラウンドモードでの作業
- 20. Android/Smack:スリープモードでXMPP接続を維持する
- 21. XMPPとOpenFireでAndroidファイル転送が動作しない
- 22. AndroidでXMPP接続(asmackを使用)を維持する
- 23. XMPPチャットアンドロイドアプリでOpenFireの役割
- 24. カスタムプロトコルのXMPPエラー
- 25. XMPPライブラリ
- 26. XMPPマルチユーザチャット
- 27. Android WidgetのOnclickイベント
- 28. Android CalendarProviderイベントの色
- 29. ボタンClick Androidのイベント
- 30. activityRecognitionイベントのAndroidシミュレーション