新建一个BootCompleteReceiver继承自BroadcastReceiver,代码如下:
public class BootCompleteReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "开机启动!!!!", Toast.LENGTH_SHORT).show();
}
}
在AndroidManifest.xml文件中注册及申请相应的权限:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<receiver android:name=".BootCompleteReceiver">
<intent-filter >
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
需要注意的是,不要在onReceive()方法中添加过多的逻辑或者进行任何的耗时操作,因为在国博接收器中是不允许开启线程的,当onReceive()方法运行了较长时间而没有结束时,程序就会报错。因此广播接收器更多的是扮演一种打开程序其他组件的角色,比如常见一条状态栏通知,或者启动一个服务等等。