問題タブ [android-broadcastreceiver]

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 に答える
4516 参照

java - レシーバーをインスタンス化できません: クラスにゼロ引数がありません

すでにいくつかの答えがあることは知っていますが、私は Android プログラミングの初心者であるため、それらをよく理解していません。次のコードを使用してレシーバーをインスタンス化しようとしました。

しかし、うまくいきませんでした。logcat は次のように述べています。

MainActivity.javaのコードの一部を以下に示します。

この質問は簡単に聞こえるかもしれませんが、このエラーを解決する方法が真剣にわかりません。私はこれを読んだことがあります(これはちょっと無効だと思います-空のコンストラクターはありません)と他のオンラインチュートリアルの束を読みましたが、まだ取得できません。どんな助けでも大歓迎です:)

0 投票する
2 に答える
672 参照

android - 自動 OTP 検証ロリポップ

OTP の自動検証に取り組んでいます。lollipop より前のバージョンでは問題なく動作していますが、5.0 以降では動作しません。チュートリアルのコードを試してみました。コードは次のとおりです。

着信SMS.java

MainActivity.java

lollipop以降のデバイスで機能しないのはなぜですか?

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

android - PushWoosh カスタム プッシュ ブロードキャスト受信者のアクティビティへの意図により、エクストラが null になる

カスタム プッシュ ブロードキャスト レシーバーから [こちら][1] で指定されたアクティビティにバンドルを送信しています。

これは、エクストラでインテントを起動するようにコードを変更した方法です。

通常のレシーバーは正常に動作しており、onNewIntent を正しく起動していますが、カスタム レシーバーは null エクストラを表示しています。

0 投票する
2 に答える
1199 参照

android - 音楽アプリの Android バウンド サービスと開始済みサービス

サービス アーキテクチャを深く掘り下げようとしています。
テスト目的で、音楽アプリを作成しています。
間違いなくサービスで音楽を再生する必要がありますが、どのようなコミュニケーションを使用するのでしょうか? 私が知る限り、サービスはバインドまたは開始できます (または両方を同時に)

まず、ソースを再生/停止/一時停止/設定する必要があります...
次に、音楽プレーヤーが開いている場合、進行状況、バッファリングなどのイベントについて UI に通知する必要があります...

これについての私の考えはここにあります。
バウンドサービスとスターテッドサービスを混在させることを考えています。

曲は UI からしか設定できず、一時停止/再生/停止/シークも可能な限り、バインダーを使用して UI からサービスとの通信を選択します。(アクティビティ内でサービスをバインドし、バインダーを元に戻してサービスと通信します)

サービスからのトラック完了、次のトラック、現在のトラック位置などの通知。Broadcast receiver複数の関心のあるコンポーネントである可能性があるため、このような通知を送信するために を使用することにしました。

だから私の質問は

  1. 音楽プレーヤー サービスの通信 (バウンドまたはブロードキャスト) の最適な選択は何ですか?
  2. システムは、サービスの種類をどのように認識しますか? つまり、サービスが最初にメソッドboundを呼び出してバインドする必要がある場合でも、それをバインドする必要があります。startServiceメソッドが1つでもbindService呼び出された場合、それはバインドされたサービスと見なされ、メソッドが呼び出されると強制終了されるということunbindですか?
  3. LocalBroadcastManagerサービスとの通信に意味がありますか? LocalBroadcastManagerアプリごとにローカルである限り、バインドされたサービスを使用しないのはなぜですか? 他のアプリがイベントに関心がある場合、グローバル ブロードキャストは理にかなっています。

このメカニズムを理解するのを手伝ってください。

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

android - Android で Media Mounted/Removed イベント用に動的に作成されたレシーバー

アクティビティが表示されている間、メディアがデバイスにマウントまたは削除されたときに通知されるようにしたいと思います。残念ながら、これらの通知を受け取ることができませんでした。私が入手できるのはfoo!、簡単なテストとして作成したものだけです。

onReceiveデバイスからメディアを取り出したときに が呼び出されないのはなぜですか?

私は真新しいを作成してMyReceiver.javaで定義しようとしましたAndroidManifest.xmlが、それもうまくいきませんでした。

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

android - 最後にブロードキャストされたイベントを取得する

残念ながら、すべてのイベントが粘着性があるわけではありません。では、レシーバーなしでブロードキャストされたイベントを取得する方法はありますか?

「ACTION_USER_PRESENT は起動後 210580 ミリ秒で最後にブロードキャストされました」のようなものが必要です。

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

java - ブロードキャスト レシーバーとメモリ リーク

私のアプリでは; db をローカルとサーバーの両方で管理する必要があるため、すべてのサービスでネットワーク接続の変更を受け取りたいと考えています。

私はBaseConnectivityService次のように接続変更のための受信機を持っているものを作りました:

BaseConnectivityServiceここで、すべてのサービスを;で拡張するとします。そのシステムは接続の変更を通知する目的でサービスをメモリに保持するため、メモリリークが発生しますか?

このスレッドを読みました。これはやや似た質問です。マーク・マーフィーがそこに書いているように:

Android がプロセスを終了するまで、BroadcastReceiver はコンポーネントを RAM に (たとえ破棄されたとしても) 保持するため、メモリ リークが発生します。

私のシナリオに適用できますか? はいの場合、メモリ リークを回避し、ネットワーク接続の変更を通知するための適切なソリューションは何ですか?