我尝试了很多不同的方法,不幸的是我仍然对我传递到我的广播中的意图的性质感到困惑,所以希望得到一些指导......
我有一个需要发送广播的应用程序,这些广播的预期接收者是我的应用程序当前正在运行的任何 Activity。
所以......我的广播目前看起来像这样(我仍然不清楚类定义的意义在这里......我是否打算特别针对某些东西?)但在活动中没有听到它。
我的应用程序当前正在尝试发送这样的广播:
Intent intent = new Intent(
getPackageName() + ".FOO");//FOO is one of the 7 or so possible Activities that are in the overall app... I don't *want to name it perse, I just don't know what to replace it with
intent.putExtra("com.mything.somethingSpecial", "TIME TO PARTY");
sendBroadcast(intent);
然后在我的各种活动中,我有一个像这样的本地广播接收器:
private BroadcastReceiver receiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
//do stuff
};
}
和 onResume , onPause 的东西......
@Override
public void onPause{
this.unregisterReceiver(this.receiver);
}
@Override
public void onResume(){
super.onResume();
IntentFilter filter = new IntentFilter();
filter.addAction("com.mything.somethingSpecial");
this.registerReceiver(this.receiver, filter);
}
所以,目前,正在发送广播(我想......我也不知道如何验证,但没有引发异常,所以,我猜它会出去),但是活动没有进入该代码块。