Device ID
Q: 预装应用可以获取设备ID,这里对预装应用的定义、标准和范畴是什么?是否由厂商系统设置名单?
A: 厂商预装的系统应用。具体来说,应用必须获得 READ_PRIVILEGED_PHONE_STATE 权限,而这个权限只可能被赋予预装在系统分区的应用。
Q: IMEI 可以帮我们判断用户是否更换了设备。在 Android Q 里有没有合适的替代方案?
A: 以下是针对常见场景的方案
后台启动 Acitvity 限制
Q: 如果用户在设置里关闭了我的 app 通知,我的 app 是不是没有办法在后台通过通知来启动 Activity 了呢?对此 Google 有什么建议?
A: 是的。所以请提高应用品质,让用户满意才不会关闭您的 app 通知。也请在应用里多给用户提示,让用户了解关闭通知所造成的改变。当然,使用 Notification Channel 将通知分类也是一个好方法。
Q: 禁止后台启动 Activity 是否会对 adb 启动 Activity 等测试场景有影响,如果是的话有办法绕过吗?
A: 没有影响。Android Studio 安装与测试的流程也是用了 adb 的机制而不会受到影响。
Q: 我的网络电话应用或闹钟应用会受背景限制影响吗?
A: 为了提高用户体验,当用户正在使用其他应用时,请善用 heads-up notification 通知用户。
Scoped Storage
Q: 应用如何暂时豁免 Q 的外部存储沙箱限制。