Android-Q 对 startActivity() 做了限制,怎么适配?,安卓11内存优化

本文介绍了Android Q对`startActivity()`的限制,主要针对后台启动新页面。允许的场景包括前台应用、用户操作、特定服务绑定等。谷歌建议在后台使用通知提醒用户。开发者可通过监控Activity生命周期判断是否在前台以调整逻辑。Android Q Beta2开始默认启用该限制,可在开发者选项中控制。
摘要由CSDN通过智能技术生成

只要跑在 Android Q 上的 App,均受限制。

原则上,只要你的 App 在前台,或者此次启动新页面的动作来自用户主动的操作,那自然是不受影响的。

1. 该应用具有可见窗口。例如前台 Activity 是你的应用。

2. 桌面 Widget 点击启动 Activity。

3. 当前前台任务的 Activity Back Task(回退栈)中,有你应用的 Activity。

例如调起微信支付页(Activity Z)时,当前退回栈最顶端的 Activity 其实时微信的页面,但是我们应用页面(Activity Y)依然在回退栈的下面,此时依然具有打开 Activity 的权限。

4. 绑定了某些系统服务,例如:AccessibilityService、AutofillService 等。

5. 已获得用户授权的 SYSTEM_ALERT_WINDOW 权限。

6. 临时白名单机制,不拦截通过通知拉起的应用。

  • 应用通过通知,在 pendingIntent 中启动 Activity。

  • 应用通过通知,在 PendingIntent 中发送广播,接收广播后启动 Activity。

  • 应用通过通知,在 PendingIntent 中启动 Service,在 Servi

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值