問題タブ [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.
android - Wifi 接続時に CONNECTIVITY_ACTION インテントを 2 回受信しました
私のアプリでは、タグBroadcastReceiver
を介してコンポーネントとして起動され、インテントをフィルタリングしています。<receiver>
android.net.conn.CONNECTIVITY_CHANGE
私の目標は、Wifi接続がいつ確立されたかを知ることだけなので、私がやっていることonReceive()
は次のとおりです。
正常に動作しますが、Wifi 接続が確立されると、常に約 1 秒以内に 2 つの同一の意図が得られるようです。ConnectivityManager
インテントとから取得できる情報を調べようとしましたWifiManager
が、2 つのインテントを区別するものは何も見つかりません。
BroadcastReceiver
ログを見ると、同じ 2 つのインテントを受信するものも少なくとも 1 つあります。
Android 2.2を搭載したHTC Desireで実行されています
Wifi 接続時に「重複した」意図を取得しているように見える理由、または 2 つの違いは何ですか?
android - PhoneStateIntentReceiver に関する小さな混乱
MyReceiver が通話状態に関する通知を受信できるようにするために notifyPhoneCallState が呼び出されたとします。この場合、コードは実行されますか?
- デバイスが着信コールを受信したとき
- デバイスで発信コールが開始されたとき
- ユーザーが通話ボタンを押したとき
- かかってきた電話が切れる
- または、コードはまったく実行されませんか?
java - Android で BroadcastReceiver の onReceive() からアプリケーションを起動する
AndroidからアプリケーションまたはアクティビティonRecieve()
を起動することは可能ですか?
Wi-Fi がオンになっているときにアクティビティを開始したい。可能であれば、その方法を説明してください。そのためのサンプルコードを期待しています..BroadcastReceiver
前もって感謝します。
java - モバイルデータの状態をリッスンする BroadcastReceiver
現在の Wi-Fi 状態をリッスンするためにブロードキャスト レシーバーを使用しました。そのため、現在の状態をトグル ボタン (setText) のテキスト (connected、connecting、disabled など) に設定します。
それはうまくいきます!
しかし今、私はモバイルデータの状態で同じことをしたいと思っています..
そこで、TelephonyManager を使用して受信機をセットアップしました。
次に、wifi レシーバーからコードをコピーして編集しました。
アプリは起動しますが、toogleButton で何も起こりませんでした。TelephonyManager はこれを行う方法が間違っていますか? コネクティビティマネージャー?
モバイルデータをオン/オフする onclicklistener を設定したい。
これをどのように行うかは次の質問です..
java - デバイスの起動時にAndroidアクティビティからブロードキャストレシーバーにデータを渡す
null
アクティビティからブロードキャスト レシーバーにデータを渡すと、常にバンドル値を取得します。私の受信機は起動時に起動します。
これは私の活動クラスのコードです
これは私のレシーバークラスのコードです:
android - android - システムサービスから受信するための受信機で「エクスポートされた受信機は許可を必要としません」
AndroidManifest で宣言されたレシーバーがいくつかあります。
最初のものは、BOOT_COMPLETED
アクションを受け取るためのものです。2 つ目は を受け取るためのものandroid.net.wifi.SCAN_RESULTS
です。AlarmManager
3 つ目は、私がブロードキャストしたいくつかのアクション (intent_action_monitor) と(intent_action_setup_alarm など)によってブロードキャストされたいくつかのアクションを受信するためのものです。
2 つの質問:
- すべての受信機で警告が表示されないのはなぜですか?
- 警告を修正するために、システム サービスから受信することを意図した受信者にどのようなアクセス許可を設定する必要がありますか (警告の内容は理解していますが、受信者を誰にも使用されたくありません)。ブートレシーバー、wifi レシーバー、アラームレシーバーなどに使用できます
exported="false"
か?
カスタム権限を使用することを考えましたが、ドキュメントでは、この保護レベルとカスタム権限android:protectionLevel="signatureOrSystem"
の両方に対してアドバイスしています。では、この警告をどのように処理すればよいでしょうか?
ドキュメントやコードへのリンクは大歓迎です。
java - BroadcastReceiver からのファイルの削除
BroadcastReceiverを呼び出すクラスがあります。ファイルが呼び出されたときにファイルを削除するのに苦労しています。
クラス内で使用するdeleteFile("file.txt")
と、機能してファイルが削除されます。
ただし、BroadcastReceiver クラス内で試しdeleteFile("file.txt")
ても機能しません。
BroadcastReceiver クラス内のファイルを削除する方法についてのアイデアはありますか? 私はさまざまな方法を試しましたが、何か根本的なものが欠けていると思います。