美文网首页Android技术知识Android知识
有关应用开机自启动的一些记录

有关应用开机自启动的一些记录

作者: 任教主来也 | 来源:发表于2017-02-24 10:19 被阅读411次

在开发中,有时候会开机自动启动我们的应用的需求,之前的普遍做法是有接收开机广播,在广播接收者中启动服务执行任务。

code

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

<receiver
    android:name=".interview.BootCompleteReceiver"
    android:enabled="true"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.BOOT_COMPLETED" />
    </intent-filter>
</receiver>    

public class BootCompleteReceiver extends BroadcastReceiver {
    public BootCompleteReceiver() {
    }

    @Override
    public void onReceive(Context context, Intent intent) {
        Log.i("renxl","自动启动成功");
    }
}

但是随着国内厂商对 ROM 的定制对应用自启动加了黑白名单,例如华为、魅族、小米等厂商,在 Android 6.0 之前就提供了开机自启动黑白名单的功能,Android 6.0 开始系统也做了自启动功能的限制,主要是为了限制应用的自启动以减少开机时间以及优化电池的使用。

在自启动管理如果将我们的应用的权限关闭之后,值不能收到系统的开机广播,也就无法做到自启动功能了

解决方法是有一些的,下面根据从网上了解到的信息做几方面的总结

一、与厂商合作

在厂商的 ROM 包中默认将自己的 APP 加入白名单,但是这个需要自己 APP 强大的影响力

二、使用辅助功能 AccessibilityService

在 APP 中加入辅助功能,在 APP 中引导用户在系统的设置中打开该应用辅助功能,可以在辅助功能中不做任何的处理。由于辅助功能是系统级别的,所以注册了辅助功能的应用在在启动时也会被激活,这样接收开机广播的接收者也就可以正常接收到开机广播,从而实现功能。但是这个方法有个弊端,就是需要引导用户主动打开辅助功能,如果用户关闭辅助功能则该方法不能正常工作。

三、引导用户

在应用中提示用户主动在开机启动白名单中加入自己的APP,也可顺利接收开机广播完成功能,这也是我最支持的一种方式,只有自己的应用做的好,让用户离不开,持续为用户提供服务,这时才需要开机启动等需求

相关文章

  • 有关应用开机自启动的一些记录

    在开发中,有时候会开机自动启动我们的应用的需求,之前的普遍做法是有接收开机广播,在广播接收者中启动服务执行任务。 ...

  • win10自启动管理

    虽然开机自启动程序会影响开机速度,不过将一些必用软件设置生开机自启动也是很爽的。 添加开机自启动 WIN键 + R...

  • 华为手机-权限

    自启动管理:需要把应用加到“自启动管理”列表,否则杀进程或重新开机后进程不会开启,只能手动开启应用 后台应用保护:...

  • 【全志系统-2】 - 开机启动与守护进程

    1. 开机自启动 Linux下,一些重要的程序一般都设置为开机自启动,避免每次重启都去手动启动,那么如何设置开机自...

  • 让应用程序开机自启动

    定制类项目通常客户都会需要开机自启动程序的这个功能,那么要实现开机自启动应用程序,一般会有如下几种方式实现: sh...

  • ubuntu 设置开机自启动 / 设置定时重启 / cronta

    本篇记录一些在 ubuntu 上自动化的方法,在 ubuntu 16.04 环境下测试。 设置开机自启动 sudo...

  • Android应用自启动机制

    一般应用自启动是通过开机广播实现。1.系统开机后,系统产生并发送开机广播,同时设置开机广播的Flag为FLAG_e...

  • App开机自启动

    App开机自启动 通过开机广播来实现自启动 定义开机广播 在AndroidManifest.xml注册BootCo...

  • Centos 7关于rc.local脚本命令开机不执行及指定用户

    1.开机不启动 在实际生产场景中,我们喜欢在安装了一些软件服务后,将软件设置为开机自启动,设置为开机自启动有两种方...

  • Android 多用户ContentResolver 数据查询

    昨天遇到一个问题,跟大家分享一下某个APP,简称A应用,开机以u0 用户进行自启动。Setting应用,开机分别以...

网友评论

    本文标题:有关应用开机自启动的一些记录

    本文链接:https://www.haomeiwen.com/subject/wctqwttx.html