2012-01-13 10 views

答えて

6

BroadcastReceiverはIntentFilterから基準を経由して一致がないとき、それはあなたが(私はmReceiverに任意およびすべてのブロードキャストを送信していると仮定していた)を達成することを望むものを達成するためのAPIでは不可能であるnullを返すので。

あなたは確かに空のIntentFilterを指定することができますが、レシーバを登録しても(レシーバに直接ターゲットされていない限り、コメントにMisterSquonkが示すように)ブロードキャストをキャッチできません。それ以外の場合は、BroadcastReceiverで捕捉するブロードキャストを正確に把握し、IntentFilterで基準を指定する必要があります。

+3

"...受信者を登録してもブロードキャストを受信することはありません。" - 本気ですか? '要素を持たないマニフェストに' '要素を使って' BroadcastReceiver'を登録することは可能です。この場合、 'Activity'を直接対象とするように、明示的にそのクラスを指定することによって、その受信者に' Intent'を送ります。例、 'Intent i =新しいインテント(this、MyBroadcastReceiver.class); ' – Squonk

+0

@MisterSquonk、本当に、それを持ってきてくれてありがとう。私は、無指向性の放送に関して考えていました。私は私のポストを更新します。 –

+0

ええ、私たちは怠け者であってはならないと思っています。 – user25

関連する問題