我使用名为“com.lpj.test”的自定义操作静态定义广播接收器。正如在下面的 AndroidManifest.xml 中注册的那样:
<receiver android:name=".TestBroadcast">
<intent-filter>
<action android:name="com.lpj.test"/>
</intent-filter>
自定义的 BroadcastReceiver 类是这样的:
public class TestBroadcast extends BroadcastReceiver {
public static final String RECEIVER = "com.lpj.test";
@Override
public void onReceive(Context context, Intent intent) {
if(intent.getAction().equals(RECEIVER)){
Log.i("BroadcastTest", "Broadcast Start!");
Toast.makeText(context, "Broadcast Start!",
Toast.LENGTH_LONG).show();
}
}
}
然后在主要活动中向我的 BroadcastReceiver 发送一个意图
public class replyer extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_replyer);
this.findViewById(R.id.button).setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
sendBroadcast(new Intent("com.lpj.test"));
}
});
}
}
当我单击按钮时,它根本不起作用。Logcat 也没有显示带有标签“BroadcastTest”的消息,也没有弹出 Toast-Box。什么也没发生。