阅读 1484

Android Q 开发者最常见问题

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 的外部存储沙箱限制。

A: 不会。所以我们强烈建议应用在 Q 版本时作出适配,但如您需要多点时间,可考虑在 Manifest 中增加 ,如果要检测是否已豁免,使用 Environment.isExternalStorageLegacy() 函数。

Q: 外部存储沙箱限制在下一版本仍可获得豁免吗?

A: 不会。所以我们强烈建议应用在 Q 版本时作出适配。

Q: 我的文件管理器/电子书应用与 Q 不兼容,该如何做?

A: 我们建议档案管理类应用使用 OPEN_DOCUMENT_TREE 让用户选择一个子目录,使应用能够存取该目录下的档案。经此方法,用户亦能够存取任何经由 DocumentsProvider 所提供,在云端或在本地的档案。

Q Timeline

Q: Android Q 会在什么时候推出?

A: 2019 年第三季度。

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 开发者预览版。

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。

Q: 在可折叠屏幕手机手机上,应用出现排版错乱。

A: 请确定应用是使用视窗大小进行排版,而不是屏幕大小。

点击这里提交产品反馈建议

关注下面的标签,发现更多相似文章
评论