問題タブ [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 投票する
0 に答える
1941 参照

android - Android のカメラ ボタンの ACTION_UP のブロードキャスト レシーバー

サムスン ギャラクシー、アンドロイド 1.5。ユーザーがいつカメラボタンを離したかを検出しようとしています。ACTION_CAMERA_BUTTON インテントを取得し、それに付随する EXTRA_KEY_EVENT を調べるレシーバーがあります (レシーバーの onReceive() で) 次のコードを使用します。

ボタンを押すと、「プレス」ポップアップのみが表示されます。

これは電話または Android の制限ですか? カメラキーのリリースを検出する別の方法はありますか?

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

android - Androidのハードボタンをリッスンする放送受信機

バックグラウンドサービスが押されたり離されたりしたときにリッスンして動作できるAndroidのクロスデバイスハードボタンはありますか?

ありがとう

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

android - Android-BroadcastReceiverを有効にできません

最新のSDKにアップグレードした後、ウィジェットの開発に戻りましたが、突然、ウィジェットの起動に次のメッセージが表示されて失敗しました。

例外が発生する2行のコードは次のとおりです。

したがって、上記のコードでは、SecurityExceptionがスローstartAlarm()されるため、実行されることはありません。pm.setComponentEnabledSetting()

マニフェストにセキュリティ設定がありませんか?現在私は持っています:

私はのために開発していてSDK v. 1.5、それはうまく機能していました

PSそれは電話とエミュレーターで起こります

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

android - Androidで毎日トリガーされるアラームを処理する方法

毎日トリガーされるアプリケーションでアラームを設定したいと考えています。ドキュメントによると、1回限りのアラームを設定する必要があり、アラーム信号を受信するBroadcastReceiverで翌日のアラームをリセットします。 あれは正しいですか ?

私の BroadcastReceiver はウェイクロックを適切に処理し、このウェイクロックを解放するサービスを起動します。ここではすべて正常に動作します。

しかし、私には問題があります。私のアプリケーションには、アラームが発生したときにチェックされるチェックボックスがあります。アラームが鳴っているかどうかを知るために、次の条件を使用します。

しかし、これはあまりうまく機能していないようです。アラームが発生しているかどうかを知る良い方法ですか?

前もって感謝します

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

android - Android - BroadcastReceiverから別のオブジェクトに変更データを渡しますか?

私は、Wifi接続状態、Wifi Rssiレベルなどの変化をリッスンするブロードキャストレシーバーを2つ持つWifiクラスを持っています...

このデータを別の「エンジン」オブジェクトに渡し、データを動的に変更し続けたいと考えています。

現在、「Engine」クラス内に Wifi オブジェクトを作成し、そのメソッドを実行すると、ログ cat の Log ステートメントでデータが動的に表示されます。

私の問題は、動的に変化するデータをエンジンに取得しようとすることです。データを取得しようとすると、最初の値が取得され、更新されずにそのままになります。

それで、これを行う方法についての私のオプションは何だろうと思っていましたか?

それが助けになる場合、以下は私の現在のコード設定です:

Wifi クラス

そして私のエンジンコード:

それで、ブロードキャストレシーバーから変更を受け取ったときに、Wifi クラスからのデータがエンジンで常に更新されるようにするための最良のソリューションは何でしょうか?

0 投票する
3 に答える
21404 参照

android - ユーザーがデバイスの電源をオフにしたときに通知を受け取る方法はありますか?

ユーザーがいつ電話の電源を切るかを知る必要があります。ユーザーの電話の電源がオフになったときに通知するブロードキャスト (または類似のもの) はありますか?

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

android - インテントフィルターのデータタグでスキーム固有の部分を指定するにはどうすればよいですか?

PACKAGE_REPLACEDを処理するようにBroadcastReceiverを設定したいのですが、パッケージが交換されたときにのみ通知を受け取りたいのです。スキーム="package"でデータタグを指定すると正常に機能しますが、アプリケーションが再インストールまたはアップグレードされると通知が届きます。スキーム固有の部分にあるパッケージ名をどのように指定する必要があるのか​​わかりません。つまり、BroadcastReceiverがonRecieve()でインテントを取得するときに、intent.getData()。getSchemeSpecificPart( )、それはパッケージ名ですが、インテントフィルターでそれだけをフィルターできる方法はありますか?

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

android - Android-Wifiの状態変更に関するインテントをサービスに送信できますか?

Wifi接続の状態が変化するたびに、サービスにインテントを送信したいと思います。

したがって、現在放送受信機を使用してWifiの状態変化をリッスンしている場合、これが意図を受け取ったときに、この情報をサービスに送信できるようにしたいと思います。

これは可能ですか?もしそうなら、それを行う正しい方法ですか?

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

android - アクティビティがフォアグラウンドにある場合のみ、BroadcastReceiver からアクティビティに通知します

簡単かもしれませんが、これまでのところ、これを正しく理解できませんでした... BroadcastReceiverAlarmMangager によってトリガーされるのを待ちました-これは正常に機能します。

今:イベントが発生した場合、メインアクティビティの画面上のいくつかの要素を更新する必要があるため、そのバックグラウンドブロードキャストレシーバーからアクティビティにインテントを送信したいと思います-ただし、現在フォアグラウンドにある場合のみ、別名アクティブです。

実行されていない場合や表示されていない場合は気にしません。最後にやりたいことは、自分の意図でアクティビティを開始することです。onResume() メソッドでビューの再描画を処理するので、まったく気にしません。

それを行う方法に関するヒントはありますか?ありがとう!

編集:私の BroadcastReceiver は、ユーザーに通知する必要があるアラームを待っています。したがって、それはそこにあり、マニフェストで宣言されている必要があります。問題は、前述のアクティビティが現在最前線にあるかどうかを判断する必要があることです。

0 投票する
7 に答える
66582 参照

android - アクティビティの 1 つがフォアグラウンドにあるかどうかを判断する方法

AlarmManager によってトリガーされる BroadcastReceiver を実装しました。AlarmManager は BOOT_COMPLETED で初期化されます。したがって、マニフェストでレシーバーを宣言する必要があります。

私の問題は、自分のアクティビティがフォアグラウンドにない場合 (つまり、ユーザーがアプリケーションと対話していない場合) にのみ、BroadcastReceiver に何かをさせたいということです。私はリモートサーバーから情報を引き出しますが、ユーザーが現在私のアプリケーションにいる場合、ユーザーに通知したくありません。

これまでのところ、アプリケーションがフォアグラウンドにあるかどうかを判断する方法を見つけることができませんでした。そのようなことをする方法はありますか?ActivityManager は、アプリケーションが実行されているかどうかはわかりますが、フォアグラウンドにあるかどうかはわかりません。

問題は、ここで説明されているものとほとんど同じです:フォアグラウンドにある場合にのみ、BroadcastReceiver からのアクティビティに通知する

解決:

いくつかのソリューションを評価した後、バックグラウンド/フォアグラウンドでのアクティビティに対処するための最良の方法と思われるものを簡単に概説したいと思います。

推奨される方法は、ブロードキャスト レシーバーをアクティビティの onResume メソッドに登録し、onPause のアクティビティで登録解除することです。サービスまたはその他のバックグラウンド要素は、アクティビティがインターセプトする特定のアクションを含むブロードキャスト インテントを送信する必要があります。

アクティビティがフォアグラウンドにある場合、インテント レシーバーが登録され、サービスから送信されたインテントを直接処理できます。フォアグラウンドにない場合、インテントを受信しませんが、ブロードキャストを呼び出したサービスは、そのブロードキャスト インテントを誰も傍受していないことを認識し、それ自体を処理できます。たとえば、目的のアクティビティを起動したり、通知を表示したりできます。