代码在图片里
if (intent.getAction().equals(action_boot)){
这句代码是不是多余的?画蛇添足
嗯,可以不加判断,因为你只配置了一个action
是多余的,但是如果清单文件中有多个Action的话,就要判断了,比如:SD卡状态发生变化
public class SDCardReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
String action = intent.getAction();
if (action.equals("android.intent.action.MEDIA_UNMOUNTABLE")) {
Toast.makeText(context, "SD卡未挂载", Toast.LENGTH_LONG).show();
}else if (action.equals("android.intent.action.MEDIA_MOUNTED")) {
Toast.makeText(context, "SD卡正常运行", Toast.LENGTH_LONG).show();
}else if (action.equals("android.intent.action.MEDIA_REMOVED")) {
Toast.makeText(context, "SD卡被拔出", Toast.LENGTH_LONG).show();
}
}
}
这句代码**不是多余**的,因为虽然你的Reciever只注册了一个广播,这并不代表别动广播收不到。可以通过
Intent intent = new Intent("android.btopp.intent.action.Hide");
intent.setClassName(包名,类名)。
mContext.sendBroadcast(intent);
这样也会收到该广播(系统应用Bluetooth就是这样做的)。如果不判断不就有问题了吗。