問題タブ [android-messaging]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - ResultReceiver とメッセンジャー
このプレゼンテーションの最初の方法に従って REST クライアントを実装しています - http://www.google.com/events/io/2010/sessions/developing-RESTful-android-apps.html
現在ResultReceiver
、サービスとサービス ヘルパーの間の「バインダー コールバック」にを使用しています。
Messenger
これに対して、私が上ResultReceiver
または反対を好むべき理由はありますか?
android - Android で複数のメッセージ送信が正しく機能しない
複数のメッセージを送信し、クリック イベントを呼び出す Android アプリがあります。問題は、
2回のクリックイベントがあります。2回目のクリックイベントではコードは完璧に機能しますが、最初のクリックイベントでは同じコードが機能しません(つまり、メッセージを送信しません)。これは非常にばかげているように思えるかもしれませんが、バグを見つけることができません.これを解決する方法を教えてください。
他の情報が必要な場合はお知らせください。
私のコードは次のとおりです。
2番目のボタンクリック時のエラーログ
そして、このコードを使用して上記のエラーを処理するとき( unregisterReceiver() への呼び出しがありませんか?) このコードを使用して:
エラー ログ コードを変更した後、multipleSMS 関数を新しいコードの sendSMS 関数に置き換えます。
android - スリープ中の Service-Activity Communication データ処理
プロジェクト ステートメント:
私は数えている6つのものを持つ単純なカウンターアプリを持っています。私のウェアラブルでは、数えたいものを選択するラジオボタングループがあります。次に、時計のアイテムの現在のカウントが表示され、時計から1を加算または減算できます。時計は単なるインターフェースであり、対話デバイスです。処理は行いません。情報のすべての処理と情報の保存はモバイル上で行われます。したがって、時計はメッセージを送信して情報を表示するだけです。
使い方:
ウェアは Wearable.MessageApi.sendMessage() を介してモバイルにメッセージを送信し、電話は Wearable.DataApi.putDataItem() で応答します。時計は、参照しているアイテムに加えて、add/subtract/countRequest などの複数の形式の情報を送信しています。モバイルは要求されたアイテム数でのみ応答し、時計は表示されているものとは異なる値である場合にのみ表示を変更する必要があります。
これは一般的なメッセンジャーの理解に関する質問です。私は持っている
リスナーが機能します。リスナーは実際に必要なデータを送信しているので、リスナーで何か便利なことをしたいと思っています。しかし、経験が限られているため、サービスとアクティビティ間の通信に問題があります。メッセージングおよびブロードキャスト レシーバーについて調べました。私の結果やより良い理解を得るために実装する方法についてのアイデアを探しています。
コードを作成しようとして収集したものから、サービスはインターフェイスと直接対話できないため、何らかの方法でアクティビティと通信する必要があります。私が読んだ2つの方法は、メッセージング(ハンドラー)とブロードキャストレシーバーです。
これらの方法はそれぞれ機能しますが、欠点があり、理解を深めたり助けを求めたりしています。
ハンドラーの場合:静的ハンドラークラスを作成してハンドラークラス内でコードを実行できますが、静的であるため、非静的オブジェクトを呼び出すことはできません。つまり、これを実行しようとすると失敗します。
サービス:
アクティビティ:
上記のハンドラーを実装する方法はありますか?メッセージを処理するときにトーストを行うだけで機能するため、メッセージを受信できます。静的オブジェクトから非静的オブジェクトを呼び出すことはできません。そのため、doThis() のコードをハンドラー内に投げただけでも、インターフェース オブジェクトを更新できないと想定しています。LiveListeners を使用していて、onMessageReceived() が別のサービスではなくアクティビティ内にあったとき、doThis() を直接呼び出すだけでうまくいきました。BroadcastReceiverの場合:表示するコードがたくさんあるので、代わりに私の問題を説明し、そこから答えることができるかもしれません. 明らかに、onResume()/onPause() で登録/登録解除する必要があります。これでは、電話がスリープ状態になったときに情報を処理できなくなります。
「LiveListeners」を行う前は、アクティビティがフォアグラウンドにあり、電話がスリープしていない限り、正常に機能していました。眠っている間に動作させる唯一の方法は、バックグラウンドで動作するサービスを利用することです。
だから私の質問は、モバイルがスリープしている間にウェアラブルがモバイルに送信している情報を処理できるように、この状況を処理する最良の方法は何ですか. または、私が見つけられなかったデータを送信する別の方法はありますか?
java - Handler.sendMessage() 経由で送信されたメッセージが handleMessage() で受信されない 数百/数千回に 1 回
OS バージョン: アンドロイド 5.1
android.os.Handler を使用してさまざまなオブジェクト間でメッセージを渡していますが、数千回 (時には数百回) 動作し、その後メッセージが失われます。正常に送信され、sendMessage() は true を返しますが、handleMessage() は呼び出されません。アプリは引き続き動作し、メッセージを見逃した後もメッセージが流れ続けます。
例外やクラッシュはありません。
- 私は何か間違ったことをしていますか?どんな提案も役に立ちます
- Android 5.1 の既知のバグですか? (検索してみましたが見つかりませんでした)
Android Handler を使用して別のクラス「xyz」にメッセージを送信する 5 つのシングルトン コンポーネントがあるアプリケーションがあります。xyz は android.os.Handler を拡張し、handleMessage() 関数をオーバーライドします。xyz は、5 つのシングルトン コンポーネントすべてをインスタンス化し、xyz コンストラクターで「this」(独自の参照) を渡します。次に、コンポーネントはその参照を使用して sendMessage() を呼び出します。
主な活動:
コントローラ:
BMS_コンポーネント:
USBマネージャー:
UV コンポーネント: