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

android - How do I pass data from a BroadcastReceiver through to an Activity being started?

I've got an Android application which needs to be woken up sporadically throughout the day.

To do this, I'm using the AlarmManager to set up a PendingIntent and have this trigger a BroadcastReceiver. This BroadcastReceiver then starts an Activity to bring the UI to the foreground.

All of the above seems to work, in that the Activity launches itself correctly; but I'd like the BroadcastReceiver to notify the Activity that it was started by the alarm (as opposed to being started by the user). To do this I'm trying, from the onReceive() method of the BroadcastReceiver to set a variable in the extras bundle of the intent, thus:

In the onResume() method of my Activity, I then look for the existence of this boolean variable:

The getIntent().getExtras() call in onResume() always returns null - I don't seem to be able to pass any extras through at all in this bundle.

If I use the same method to bind extras to the PendingIntent which triggers the BroadcastReceiver however, the extras come through just fine.

Can anyone tell me what's different about passing a bundle from a BroadcastReceiver to an Activity, as opposed to passing the bundle from an Activity to a BroadcastReceiver? I fear I may be doing something very very obvious wrong here...

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

android - 受信者タグのインテントフィルター内でアクションを定義するポイントは何ですか

私は現在、放送受信機と放送インテントを調査しています。私にはあいまいなチュートリアルのいくつかの側面があります。私の知る限り、これがプロセスの仕組みです。アプリケーションからインテントをブロードキャストでき、アクションが一致する限り、電話の任意の受信者がそのインテントに基づいて動作できます。コンテキストを拡張するものなら何でも放送局の受信機を登録できます。登録するときは、受信機が1つ以上のインテントアクションに作用できるようにするフィルターを提供する必要があります。

私を混乱させる部分は、マニフェストを介してレシーバーを定義することです。上記の受信者の名前はクラス名と一致する必要がありますか?レシーバーをコードに登録するときに常に別のインテントフィルターを提供する必要があるのに、プロジェクトマニフェストのアクションでインテントフィルターを定義する必要があるのはなぜですか?

誰かが放送受信機を使用するための最良の方法と私がそれらをどのように定義すべきかについての良いチュートリアルまたは例を持っているなら、私はそれをいただければ幸いです。

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

android - 発信通話を検出し、実際のデバイスで発行します

奇妙な問題があります。発信を検出するために、のブロードキャストレシーバーを登録しましたandroid.intent.action.PHONE_STATE。状態がOFFHOOKになると、会話が開始されます。エミュレーターで動作しているようです。実際のデバイス(Acer Liquid)では動作しないのに、デバッガーは実際にはいくつかのコードに到達します。出来ますか?
発信通話を検出する方法はどれですか?

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

java - ネットワーク状態が変化したときのブロードキャスト インテント

Android はネットワーク状態が変化したとき、つまり GSM から Wifi にインテントをブロードキャストしますか? その場合、どのような許可が必要で、インテント アクションは何と呼ばれますか?

0 投票する
17 に答える
148558 参照

android - ReceiverがAndroidに登録されているかどうかを確認するにはどうすればよいですか?

登録した受信者がまだ登録されているかどうかを確認する必要があります。登録されていない場合、どのように確認すればよいですか?

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

android - 繰り返しアラーム/イベントのスケジュール

アプリケーションを拡張するクラスがあります。このクラスでは、AlarmManager を呼び出してインテントを渡します。スケジュールどおり、BroadcastReceiver を拡張する EventReceiver クラスは、onReceive メソッドで呼び出しを処理します。onReceive メソッドから再度インテントを呼び出して、別のイベントをスケジュールするにはどうすればよいですか?

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

android - Android のさまざまなアプリケーションでブロードキャスト レシーバーを使用するには?

ここでは、Eclipse の 2 つの異なるプロジェクトに 2 つのアプリケーションがあります。1 つのアプリケーション (A) は、最初に開始されるアクティビティ (A1) を定義します。次に、このアクティビティから、2 番目のプロジェクト (B) の 2 番目のアクティビティ (B1) を開始します。これはうまくいきます。

次の方法で開始します。

ここで、ブロードキャスト レシーバーを使用して、2 つのアクティビティ間でインテントを送信したいと考えています。アクティビティ A1 では、次の方法でインテントを送信します。

このブロードキャストを担当するアクティビティ A1 のマニフェスト ファイルの部分は次のとおりです。

受信アクティビティでは、マニフェスト ファイルで次のように受信者を定義します。

クラス メッセージ リスナは次のように実装されます。

残念ながら、メッセージは受信されません。アクティビティ A1 のメソッドが呼び出されますが、B1 でインテントを受け取ることはありません。

これを解決するためのヒントはありますか?どうもありがとう!

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

android - BroadcastReceiverの優先度をプログラムで設定することは可能ですか?

BroadcastReceiverの優先度属性をプログラムで設定することは可能ですか、それともXMLでのみ行うことができますか?関連するドキュメントは次のとおりです。

http://developer.android.com/reference/android/content/BroadcastReceiver.html

http://developer.android.com/reference/android/R.styleable.html

そうではないようですが、android.R.styleableと特定のアプリケーションおよびそのアクティビティとの関係を完全には理解していません...

0 投票する
16 に答える
194166 参照

android - Androidで起動時にサービスを開始しようとしています

デバイスが Android で起動したときにサービスを開始しようとしましたが、動作させることができません。オンラインでいくつかのリンクを見てきましたが、どのコードも機能しません。私は何かを忘れていますか?

AndroidManifest.xml

ブロードキャストレシーバー

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

android - アプリが強制終了されると、AlarmManager ブロードキャストがキャンセルされるのはなぜですか?

わかりましたので、2 つの BroadcastReceiver を登録しました。アプリが閉じられると、両方が適切なタイミングで起動し、適切な処理を実行します。

アプリが閉じられてから (AppKiller などで) 強制終了された場合、レシーバーはブロードキャストを受信せず、何も起こりません。

メモリ不足のために親アプリが強制終了された場合もおそらく同じことが起こるので、これらのブロードキャストが確実に起動/受信されるようにするにはどうすればよいですか。API は、アプリが強制終了された場合でも起動する必要があると述べていますが、他の誰かがこの状況を経験したことがありますか?

それが私のマニフェストに役立つ場合:

AlarmManager/BroadcastReceivers では難解なことは何も行われていません