Android开发入门之静态注册实现开机启动

今天来学习如何实现静态注册广播,让程序接收一条开机启动广播,这样就可以在onReceive()中执行相应的逻辑,从而实现开机启动的功能。

1、

 

public class BootCompleteReceiver extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        Toast.makeText(context, "Boot Complete", Toast.LENGTH_SHORT).show();
    }
}


首先右击com.example.xxxx包->Other->Broadcast Receiver(xxxx是你的项目名),会弹出一个窗口,输入Class Name:BootCompleteReceiver,并勾选Enabled和Exported,前者表示启用这个广播接收器,后者表示允许这个广播接收器接收本程序以外的广播,点击Finish完成创建。修改BootCompleteReceiver内的代码如上所示(表示现在只会使用ToastQAQ)。

 

2、

 

        
            
                
            
        


由于是使用快捷方式创建的,所以在AndroidMenifest.xml注册这一步已经自动完成了。不过,我们还要在标签内添加相应的,传入相应的action。除此之外,监听系统开机广播是需要权限声明的,所以还要添加以下代码段

 

 


至此,就完成了静态注册广播监听开机启动。

 

需要注意的地方有:

不要在onReceiver()方法中添加过多的逻辑或者进行任何的耗时操作,因为在广播接收器中是不允许开启线程的,当onReceiver()方法运行了较长时间而没有结束的时候,程序就会报错。因此,广播接收器更多的是扮演一种打开其他程序组件的角色,比如创建一条状态栏通知,或者启动一个服务等。

 

你可能感兴趣的:(其他)