收件人没有收到意图
问题描述:
似乎很容易理解。为什么我的接收器收到意图?我在主要活动课的onCreate
方法中声明了这个接收器。收件人没有收到意图
IntentFilter filter = new IntentFilter();
filter.addAction(WidgetProvider.ACTION_OPEN_ACTIVITY);
registerReceiver(new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
// No toast is shown.
Toast.makeText(MainActivity.this,"Intent received",Toast.LENGTH_SHORT).show();
}
}, filter);
Intent intent = new Intent(this,MainActivity.class);
intent.setAction(WidgetProvider.ACTION_OPEN_ACTIVITY);
sendBroadcast(intent);
答
替换:
Intent intent = new Intent(this,MainActivity.class);
intent.setAction(WidgetProvider.ACTION_OPEN_ACTIVITY);
有:
Intent intent = new Intent(WidgetProvider.ACTION_OPEN_ACTIVITY);
不能使用动态注册接收器使用一个明确的Intent
和MainActivity
不是BroadcastReceiver
。