设置app开机启动

AndroidManifest内:

1、添加接收开机广播的权限

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

2、声明一个开机广播接收器,需要添加两个广播
android.media.AUDIO_BECOMING_NOISY 是开机铃声广播,有的手机不加这个的话,BOOT_COMPLETED好像收不到

        <receiver
            android:name=".receiver.BootReceiver"
            android:exported="false">
            <intent-filter android:priority="1000">
                <action android:name="android.intent.action.BOOT_COMPLETED" />
                <action android:name="android.media.AUDIO_BECOMING_NOISY" />
            </intent-filter>
        </receiver>

3、广播接收处理

public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        String action = intent.getAction();
        KLog.i("BootReceiver 收到广播  : " + action);
        if (Intent.ACTION_BOOT_COMPLETED.equals(action)) {
            KLog.i("收到开机广播,启动程序");

            Intent thisIntent = new Intent(context, SplashActivity.class);
            thisIntent.setAction("android.intent.action.MAIN");
            thisIntent.addCategory("android.intent.category.LAUNCHER");
            thisIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(thisIntent);
        }
    }
}

注:广播在源码位置:

AudioManager.ACTION_AUDIO_BECOMING_NOISY
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 谨以文章记录学习历程,如有错误还请指明。 前言 我们上学时都有过这样的经历,当我们在火车站列车候车室中等待时,每当...
    whd_Alive阅读 12,275评论 2 13
  • 最近有个需求要求app要开机自启动,就按照一般的套路去注册了一个静态广播接收器,代码如下:manifest文件: ...
    ei_chinn阅读 22,914评论 2 27
  • Media Playback Android多媒体框架包涵了对播放多种通用媒体的类型的支持,所以你可以很容易的集成...
    VegetableAD阅读 4,383评论 0 0
  • 源码地址请点击此处 栈是线性表的一种衍生结构,是一种操作受限的线性表。在使用普通的线性表时,可以在任意位置进行操作...
    柏丘君阅读 3,073评论 0 0
  • Android 根据心电图(ECG)数据分析(瞎猜)绘制样子差不多的心电图 项目中用到心电图分析,使用某仪器测量...
    TiaoPi阅读 11,976评论 6 10