Qt for Android(17) —— Android 10 适配之开机自启动

随着Android 10的更新,后台应用启动Activity受到限制,导致Qt for Android项目中开机自启动功能失效。本文探讨了两种解决方案:方案一利用NotificationManager和全屏Intent,需要特定权限;方案二动态注册广播,同样涉及权限管理。这两种方法旨在绕过Android 10对后台应用的限制,确保开机时应用能正常启动。
摘要由CSDN通过智能技术生成
背景

  项目以前基于android7.0以下运行,静态监听系统的开机广播,然后拉起自己的activity。但是在Android 10 之后,发现方法失效了。

经过查阅资料发现:Android 10 (API 级别 29) 及更高版本对后台应用的启动做了限制。Android10中, 当App的Activity不在前台时,其启动Activity会被系统拦截,导致无法启动。

详见:google:从后台启动 Activity 的限制

这里摘一些概要:

Android 10 (API 级别 29) 及更高版本对后台应用可启动 Activity 的时间施加限制。这些限制有助于最大限度地减少对用户造成的中断,并且可以让用户更好地控制其屏幕上显示的内容。
注意:为启动 Activity,系统仍会将运行前台服务的应用视为“后台”应用。

方案一

要解决这个问题有两个方案:
其一是使用NotificationManager + 全屏Intent,并添加权限:

//AndroidManife
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

q2nAmor

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值