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

Android 专栏收录该内容
34 篇文章 0 订阅

使用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
  • 1
    点赞
  • 2
    评论
  • 2
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值