首页 > 系统 > Android > 正文

android 监听开机启动

2019-11-09 14:36:50
字体:
来源:转载
供稿:网友

一. 编写广播接收器代码

public class BootBroadCast extends BroadcastReceiver {    public static final String TAG = "MyBroadCast";    @Override    public void onReceive(Context context, Intent intent) {        Log.d(TAG, "onReceive()");        // 开机启动服务(1.有些手机重启后要等3至5分钟才会接收到开机广播  2.启动服务时会先启动主进程,通过监听 application 的执行可以得知)        // 如果是远程服务,会先启动主进程,再启动一个新的服务进程(该进程只包含一个服务,并且 application 也会得到执行)        Intent intentService = new Intent(context, MyService.class);        context.startService(intentService);        // 开机启动Activity(启动activity时会先启动主进程)        Intent intentActivity = new Intent(context,OtherActivity.class);        intentActivity.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK );//不加此句会报错。        context.startActivity(intentActivity);        // 开机启动应用        Intent intentApp = context.getPackageManager().getLaunchIntentForPackage("包名");        context.startActivity(intentApp);    }}

二.注册广播

<receiver android:name=".service.BootBroadCast">    <intent-filter>        <action android:name="android.intent.action.BOOT_COMPLETED" />    </intent-filter></receiver>

三.申请权限

<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表