Device ID
Q: 预装应用可以获取设备 ID,这里对预装应用的定义、标准和范畴是什么?是否由厂商系统设置名单?
A: 厂商预装的系统应用。具体来说,应用必须获得 READ_PRIVILEGED_PHONE_STATE 权限,而这个权限只可能被赋予预装在系统分区的应用。
Q: IMEI 可以帮我们判断用户是否更换了设备。在 Android Q 里有没有合适的替代方案?
A: 以下是针对常见场景的方案
详情请参阅
https://developer.android.google.cn/training/articles/user-data-ids
后台启动 Acitvity 限制
Q: 如果用户在设置里关闭了我的 app 通知,我的 app 是不是没有办法在后台通过通知来启动 Activity 了呢?对此 Google 有什么建议?
A: 是的。所以请提高应用品质,让用户满意才不会关闭您的 app 通知。也请在应用里多给用户提示,让用户了解关闭通知所造成的改变。当然,使用 Notification Channel 将通知分类也是一个好方法。
Q: 禁止后台启动 Activity 是否会对 adb 启动 Activity 等测试场景有影响,如果是的话有办法绕过吗?
A: 没有影响。Android Studio 安装与测试的流程也是用了 adb 的机制而不会受到影响。
Q: 我的网络电话应用或闹钟应用会受背景限制影响吗?
A: 为了提高用户体验,当用户正在使用其他应用时,请善用 heads-up notification 通知用户。
详情请参阅
https://developer.android.google.cn/preview/privacy/background-activity-starts#create-notifications
Scoped Storage
Q: 应用如何暂时豁免 Q 的外部存储沙箱限制。
A: 不会。所以我们强烈建议应用在 Q 版本时作出适配,但如您需要多点时间,可考虑在 Manifest 中增加 <application android:requestLegacyExternalStorage = “true”>,如果要检测是否已豁免,使用 Environment.isExternalStorageLegacy() 函数。
Q: 外部存储沙箱限制在下一版本仍可获得豁免吗?
A: 不会。所以我们强烈建议应用在 Q 版本时作出适配。
Q: 我的文件管理器/电子书应用与 Q 不兼容,该如何做?
A: 我们建议档案管理类应用使用 OPEN_DOCUMENT_TREE 让用户选择一个子目录,使应用能够存取该目录下的档案。经此方法,用户亦能够存取任何经由 DocumentsProvider 所提供,在云端或在本地的档案。
Q Timeline
Q: Android Q 会在什么时候推出?
A: 2019 年第三季度。
详情请参阅
https://developer.android.google.cn/preview/overview
Q: Android Q 源码大概什么时候会开源出来?
A: 2019 年第三季度,Android Q 正式推出当日。
Q: Android Q 的应用什么时候能上传到 Google Play?
A: 从 Beta 4 开始。
Q: 支持 Android Q 开发者预览版的设备只有 Google Pixel 吗?
A: 现时共有 21 款 Beta 设备支持 Android Q 开发者预览版。
详情请参阅
https://developer.android.google.cn/preview/devices
64 位应用
Q: Android Q 是否只支持 64 位应用?
A: 不是。但自 2019 年 8 月起,上传到 Google Play 的新应用必须包含 64 位版本。
Q: 许多 .so 文件由开源 SDK 提供,但很久没有维护更新了,是不是必须放弃该 SDK?
A: 开发者可以从源码编译 64 位的 .so 文件。
Q: 我们在有些 SDK 提供商处了解到,他们建议将 32 位 .so 文件直接放入 64 位的文件目录,这种做法是否可以?
A: 不行。这样只支持 64 位的设备将无法运行您的应用。而且这样亦无法通过 Google Play 的检测。
其他
Q: Android Q 提供自定义类加载器的公有 API,是不是意味着对于热修复或者插件化 Google 将有官方的支持?
A: 我们按照开发者的反馈,将部分合理的常用非 SDK 接口以新的 API 取代。而热修复或者插件化皆违反 Google Play 政策,是不容许的。
Q: Dark Theme 会自动套用都所有的应用吗?开发者需要作出更新吗?
A: 开发者必须更新代码以支援 Dark Theme。
Q: 在翻屏手机上,用户翻屏时,应用会重新启动。
A: 请确定应用已定义为 Resizeable Activity。
详情请参阅
https://developer.android.google.cn/guide/topics/ui/multi-window
Q: 在可折叠屏幕手机手机上,应用出现排版错乱。
A: 请确定应用是使用视窗大小进行排版,而不是屏幕大小。
点击屏末 | 阅读原文 | 提交产品反馈建议
推荐阅读: