問題タブ [localbroadcastmanager]

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.

0 投票する
1 に答える
58 参照

android - Android - localbroadcast を 0.5 秒ごとに送信すると、深刻なパフォーマンスの問題がありますか?

localbroadcast を 0.5 秒ごとに送信すると、重大なパフォーマンスの問題が発生しますか?

0 投票する
1 に答える
231 参照

android - Local BroadcastManager からアクティビティに値を送信できません

ここでは、USSD コードを呼び出してから、AccessibilityService を拡張して対応する応答を読み取ろうとしています。このプロセスは正常に機能しています。しかし、私の問題は、LocalBroadCast Manager を使用してその対応するデータ (または値) をアクティビティsay(MainActivity.java) BroadcastReceiver に転送しようとしても呼び出されないことです。

LocalBroadcastManager を使用して activity にデータを転送するのを手伝ってくれる人はいますか?

以下の私のJavaクラスを見つけてください。

MainActivity.java

UssdDemo.java

activity_main.xml

マニフェスト.xml

0 投票する
4 に答える
8236 参照

android - Android サービスとアクティビティ間の通信

建築を見る

3 つのアクティビティと 2 つのサービスを備えた Android アプリを開発したいと考えています。

WebClientServiceという名前の最初のサービスは、ハンドラーを使用して 30 秒ごとに REST API を呼び出し、アクティブなアクティビティに結果を通知する必要があります。また、ローカル DB を更新するために、DatabaseServiceという名前の 2 番目のサービスに通知する必要があります。

データベース サービスは、アクティビティのonCreateで 1 回だけ呼び出され (アプリのクラッシュと再起動の場合)、onRestartで 1 回だけ呼び出されます(このようにして、接続の問題が発生した場合にデータを表示できます)。アクティビティは、30 秒ごとに「生きている」アクティビティを通知する WebClientService のおかげで、自分自身を更新し続けます。

質問は次のとおりです。

  • アクティブなアクティビティとバックグラウンドの DatabaseService の両方の更新を通知する最善の方法は何ですか? 私の考えは、WebClientService 内でsendBroadcast()を使用し、すべてのアクティビティと DatabaseService 内でBroadcastReceiverを使用することです。これは正しいアプローチですか?

  • AllMeetingRoomActivity と DatabaseService の間の通信に同じアプローチを使用する必要がありますか、それともBound Serviceを使用する必要がありますか?

ありがとう

UPDATE : DatabaseService はもはやバックグラウンド サービスではなく、WebClientService とアクティビティの間の db レイヤーの単なる共有インスタンスです。

質問は次のとおりです。ローカル データベースに 30 秒の更新を書き込むだけで、アクティビティがローカル データベースから読み取るだけで数秒ごとに自分自身を更新できるようにするのは良い方法ですか? それはパフォーマンスに大きく影響しますか?

環境:

これまでに実装したものに従いますが、SettableFutures を使用しているため、サービスとブロードキャストを効果的に通信させる方法を明確にしたら、サービスとブロードキャストを使用して再実装する必要があります。

0 投票する
0 に答える
177 参照

android - サービス bindService と LocalBroadcastManager

複数のアクティビティがあり、バックグラウンドで常にサービスを実行しています (ここのコンテキストを参照してください)。

各アクティビティで sendBroadcast() と BroadcastReceiver を使用して bindService() またはアプリ限定通知を使用する方法として、どちらが優れていますか?

ありがとう

0 投票する
0 に答える
102 参照

android - Android LocalBroadcastManger が常にデータを受信するとは限らない

のフラグメントがありTextViewます。アプリのさまざまな場所からそれを更新したいTextViewので、使用してLocalBroadcastManagerいますが、常に機能しているわけではありません-実際、デバイス管理者を無効にすると(これはMDMアプリです)、データを受信することを「忘れます」...

App.getAppContext()Application クラスで宣言された静的コンテキストです。

onResume()保存されたメッセージを更新しています(フラグメントが常に表示されるとは限らないため.

私の受信機:

onStart / onStop:

私のログ:

フラグメント開始時

レジューム フラグメントについて - メッセージ: メッセージ 1

更新ステータス - メッセージ: メッセージ 1

メッセージを送信: メッセージ 2

オンストップフラグメント

フラグメント開始時

レジューム フラグメントについて - メッセージ: メッセージ 2

更新ステータス - メッセージ: メッセージ 2

無効な管理者

メッセージを送信: キャンセル

それだけです...もう受信しません