【Android】【Bug】Android 11 不能开机自启动的解决方法

项目需求

在Android 11 版本上面实现程序的开机自启动

需求实现

1.创建一个广播

public class BootReceiver extends BroadcastReceiver {
    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_BOOT_COMPLETED)) {
            Intent bootStart = new Intent(context, WelcomeActivity.class);
            bootStart.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            context.startActivity(bootStart);
        }
    }
}

2.在清单文件注册

        <receiver
            android:name=".receiver.BootReceiver"
            android:enabled="true"
            android:exported="true"
            android:permission="android.permission">
            <intent-filter android:priority="2147483647">
                <action android:name="android.intent.action.BOOT_COMPLETED" />
            </intent-filter>
        </receiver>

记得添加权限

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

然后我们去测试,在低版本Android 系统上面测试之后,OK没问题,那在Android 11 上面测试呢?

答案是根本无法开机启动

那怎么解决呢?

需要给我们的程序请求一个权限,这个权限如果我们在做应用显示悬浮窗之类的功能也会用到,就像微信视频通话的那种小窗显示之类的。

        if (Build.VERSION.SDK_INT >= 23) {
            if (!Settings.canDrawOverlays(this)) {
                //没有悬浮窗权限,去开启悬浮窗权限
                try {
                    Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
                    startActivityForResult(intent, 101);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            } 
        }

就是这个权限
在这里插入图片描述

以下是一些优化 Android 11 开机速度的方法: 1. 关闭开机动画 开机动画是 Android 系统启动时显示的画面。关闭开机动画可以加快开机速度。要关闭开机动画,请在开发者选项中将“窗口动画比例”、“过渡动画比例”和“动画持续时间缩放”设置为“关闭”。 2. 禁用不必要的应用程序 禁用不必要的应用程序可以减少开机时的资源占用。要禁用应用程序,请在设置中找到“应用程序”选项,并禁用您不需要的应用程序。 3. 清理系统缓存 清理系统缓存可以释放一些系统资源,从而加快开机速度。要清理系统缓存,请在设置中找到“存储”选项,并点击“清理缓存”。 4. 安装应用程序后禁用自启动选项 如果您安装了许多应用程序,它们可能会在系统启动时自动启动。禁用这些应用程序的自启动选项可以加快系统启动速度。要禁用自启动选项,请在设置中找到“应用程序”选项,并在每个应用程序的详细信息中禁用自启动选项。 5. 更新系统和应用程序 更新系统和应用程序可以解决一些系统和应用程序中的 bug,从而加快系统启动速度。要更新系统和应用程序,请在设置中找到“系统更新”和“应用程序更新”选项,并更新所有可用的更新。 这些方法可以帮助您优化 Android 11开机速度。如果您遇到其他问题,请参考 Google 官方文档或联系您的设备制造商。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值