BroadcastReceiver
インテント フィルターなしで宣言している Android 広告ネットワーク SDK をいくつか見ました。このようなもの:
<receiver android:name="com.example.SampleReceiver" />
私の推測では、そのようなレシーバーは考えられるすべてのイベントをキャプチャーします。だから私はそれを自分でやろうとして、作成しましたSampleReceiver
:
public class SampleReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
System.out.println("Event captured: " + intent.getAction());
}
}
アプリを起動し、電話でさまざまなアクションを実行していくつかのイベントを発生させようとしましたが、onReceive()
一度も呼び出されていないことに気付きました。
問題は、インテント フィルターのない BroadcastReceiver はどのように機能するかということです。コードを介してインテント フィルタを作成する必要があるのでしょうか。もしそうなら、どのように?そうでない場合、イベントを受信していないのはなぜですか? 何が起きてる?