有一些服务比如推送服务,想实现开机自启,怎么实现呢。其实很简单,系统开机后会发送一个广播,我们只需要在自己的APP中注册一个BroadcastReceiver来接收就可以了。
1、自定义一个BroadcastReceiver,这里命名为BootReceiver
package com.example.androidtest;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.widget.Toast;
public class BootReceiver extends BroadcastReceiver{
@Override
public void onReceive(Context context, Intent intent) {
// TODO start your own service
Toast.makeText(context, "接收到开机启动广播", Toast.LENGTH_LONG).show();
}
}
2、在Manifest文件中application节点中注册广播接收器
<receiver android:name="com.example.androidtest.BootReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
3、声明权限
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
4、测试一下
安装应用后重启模拟器,看到有Toast