Android10开发者常见问题(小结)
q 1: 指定 system_ui_flag_layout_hide_navigation 好像并不能隐藏导航栏和状态栏?
a: 您需要告诉系统您希望的布局方式。system_ui_flag_layout_fullscreen: 全屏,状态栏浮在应用之上;system_ui_flag_layout_stable: 将视图保持稳定,使用最极端的布局方式。
setsystemuivisibility() 仅在所指定的视图可见时生效。更具体来说,所指定的视图必须保持可见才能让导航栏保持隐藏。
q 2: 加固和热修复方面的优化,有详细文档吗?
a: 这些可能不是大部分开发者所需要接触的特殊功能,而且不同的加固和热修复方案有不同的设计和实现方式。我们已经和多数常用的加固和热修复供应商直接合作,确保他们的解决方案保证最大限度的兼容性和性能。如果您有更具体的问题,请联系您的加固或热修复方案供应商。
q 3: mac 地址随机之后,如果路由器设置了 mac 地址白名单,手机就无法连接上路由器了,这个问题怎么解决?
a: 系统知道真实的 mac 地址,只是不会报告给应用。您可以在系统的设置界面查看真实的 mac 地址,并加入路由器的白名单中。
q 4: android 10 安全特性变化较大,有能指导开发者的升级适配的技术文档吗?
a: 请参阅android 开发者官方网站 (特别是、和),以及。
q 5: 系统由 android p 升级到 android 10 之后的 (非登录) 应用重装,如何追踪用户?
a: 使用 ssaid (secured settings android id)。在同一个系统用户下,由同一开发者签名密钥签名的应用之间,这个 id 是一致的。但它会在恢复出厂设置后被改变。
q 6: 对于一个应用来说,saf 访问的范围?
a: 在 android 10 及以前的版本中,当用户同意时应用可以访问任何指定的目录。正如我们此前提到的,在 android 下一个大版本中,特定的目录将无法被访问。如果这会导致您的应用出现问题,请告诉我们具体的使用案例。
q 7: 非 sdk 接口限制: 未来多个 android 版本对这个限制的变更,是否会让开发者难以维护?静态扫描工具未来是否会加入编译流程中?
a: 我们会持续提供非 sdk 接口变化的文档和技术支持。静态扫描工具只需要一行命令即可运行,您可以自行添加一条 postbuild 命令到编译流程中。
q 8: 设备id: android id 是否能保证各个设备间互相不重复,据公司其他部门统计,android id 是有一些重复现象的。
a: 在统计上,android id 的重复概率很低。如果您发现两台设备有一样的 id,请告诉我们设备厂商及型号。
q 9: 沙箱存储: android 10 上允许使用路径访问媒体资源,是指通过 contentresolver 查询的媒体资源信息中的 data 列可以使用了吗?
a: data 已被弃用,您不应该使用它。如果您想要使用路径访问媒体资源,可以用 java.io.file 这个类。您可以用它来访问属于应用自身的媒体文件,或者应用被授权访问的媒体文件。
q 10: 目前支持单一/临时授权吗?
a: 目前没有,但我们在考虑提供支持。
q 11: 权限: 提供授权日志/记录吗?
a: 在什么情况下需要使用?从保护隐私方面考虑,应用不应该获取其他应用的权限请求记录。
q 12: 屏幕内容访问受到权限限制。截屏功能属于 "屏幕内容访问" 吗?
a: 屏幕内容访问的保护是指一个应用访问另一个应用的屏幕内容。如果这里指的是应用访问自己的绘图缓存 (drawingcache),则不需要任何特殊权限。
q 13: 活动探知和录屏,怎么兼容旧版本设备?android 10 上的限制,是针对 targetapi 为 29 的应用,还是所有运行在 android 10 上的应用?
a: 请参考,了解活动探知相关的权限和应用的 targetsdkversion 的关系。
q 14: 文件存储演讲里提到的下个版本预览,是指 android 10 的下个小版本吗?
a: 这里指的是下一个主版本。
q 15: 可折叠设备有没有回调可以知道当前处于折叠模式还是展开模式?
a: 没有,我们希望应用对不同屏幕分辨率的支持更加通用。请使用 onconfigurationchanged,或告诉我们更具体的需求。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
上一篇: 寒冷的冬季 这样取暖当心疾病缠身