0

私はここ数時間、何が悪いのかを見つけようとしてきました。なぜこの放送受信機は意図を受け取らないのですか?

static class BReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(final Context context, final Intent intent) {
        Toast.makeText(context, "Got the intent", Toast.LENGTH_LONG).show();
    }

}

@Override
public void onCreate(final Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    mLayout = new FrameLayout(this);
    setContentView(mLayout);
    final IntentFilter intentFilter = new IntentFilter("com.example.testui.action");
    getApplicationContext().registerReceiver(new BReceiver(), intentFilter);
    final Intent intent = new Intent(getApplicationContext(), BReceiver.class);
    intent.setAction("com.example.testui.action");
    getApplicationContext().sendBroadcast(intent);
}

PS。厳密に言うと、この受信者は必須ではないため、マニフェストファイルでこの受信者を定義しませんでした。

4

1 に答える 1

2

この方法でブロードキャストを送信してみてください:

getApplicationContext().sendBroadcast(new Intent("com.example.testui.action"));
于 2013-01-06T16:46:50.127 に答える