Android使用广播实现app开机自启动

本文介绍如何通过使用ACTION_BOOT_COMPLETED广播实现APP开机自启动的方法。包括创建广播接收类StartBootComplete,配置AndroidManifest.xml文件等内容。

使用ACTION_BOOT_COMPLETED的广播,实现app开机自启动:


1.在项目中新建一个接收广播的类StartBootComplete,继承BroadcastReceiver:


import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.util.Log;

public class StartBootComplete extends BroadcastReceiver {
static final String action_boot ="android.intent.action.BOOT_COMPLETED";

@Override
public void onReceive (Context context, Intent intent) {

if (intent.getAction().equals(action_boot)){

Intent intent2 = new Intent(context, MainActivity.class);
// 下面这句话必须加上才能实现开机自动运行app的界面
intent2.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(intent2);
}
}
}
2.在AndroidManifest.xml中加入权限和配置相关信息:

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

3.同样是在AndroidManifest.xml中,application标签中,配置以下相关信息:
<!--StartBootComplete 是上面建的广播类,四大组件都要在清单配置文件中注册-->

<!--注册开机广播地址--> 

<receiver android:name=".StartBootComplete"> 

<intent-filter> 
<action android:name="android.intent.action.BOOT_COMPLETED"> </action> 
<category android:name="android.intent.category.DEFAULT" /> 
</intent-filter> 
</receiver> 
一般上面步骤完成时可以实现了开机自启动,下面还有一些补充说明,可以选择查看:
1.查看系统中是否安装了类似360管家的软件,为了加快开机速度,默认是关闭掉开机广播的,只需要在设置中打开即可。
2.如果监听不到广播,可以尝试同时监听广播和sd卡。
3.同时监听广播和sd卡,在application标签中,配置以下相关信息:

<receiver android:name=".broadcastReceiver.BootCompletedReceiver">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
<category android:name="android.intent.category.HOME" />

</intent-filter>


<intent-filter>
<action android:name="android.intent.action.PACKAGE_ADDED" />
<action android:name="android.intent.action.PACKAGE_REMOVED" />
<action android:name="android.intent.action.PACKAGE_REPLACED" />

<data android:scheme="package" />
</intent-filter>

</receiver>


参考:展菲http://www.jianshu.com/p/ebe4380a322a
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值