android常见问题_Android 11 测试版发布,附适配规范及常见问题处理方式(一)

Android 11 在权限隐私、行为变更、非SDK接口等方面做了比较大的调整,如分区存储,单次权限,后台位置权限限制,这些都可能导致您的应用出现兼容性问题,请开发者务必重视,尽快完成适配工作! OPPO系统兼容性团队已完成对Android 11 最新版本行为变更解读,就其中与应用兼容性相关的变更进行了详细梳理,形成了Android11应用兼容性适配指导,后续将陆续为开发者提供开发适配过程中的常见问题及解决方案,请开发者们关注, 本期重点:Android 11 中的前台服务类型 。 在Android 11,为了限制应用通过前台服务(Foreground Service)访问摄像头和麦克风数据,有如下变更: ● 新增foregroundServiceType类型:摄像头和麦克风 ● 仅当应用在前台启动声明了对应类型的前台服务时,才能通过前台服务访问数据。 1.使用场景 从 Android 9 开始,应用就受到限制,只允许在前台访问摄像头和麦克风。Android 11上,当你请求摄像头、麦克风或地理位置权限时,系统权限弹框提供了三种选择“仅在使用该应用时允许”、“仅限这一次”、“拒绝”。   当选择了“仅在使用该应用时允许”后,应用可在当前交互状态访问对应权限保护的敏感数据,或者通过启动对应foregroundServiceType类型的前台服务来访问。否则,如果应用到了后台,将不再获得对应的数据。 2.应用如何适配 为了方便应用适配,该行为变更仅对target SDK为Android 11的应用生效。 应用必须要在 Manifest 中声明对应的foregroundServiceType: ● 在AndroidManifest中声明
<service    android:name="ExampleForegroundService"    android:foregroundServiceType="microphone|camera|...">service>
并在实际用到的时候,可以通过 startForeground 再次声明需要用到的服务类型。 ● 动态声明
// Optional (defaults to manifest entry)Service.startForeground(int id,Notification notification, int foregroundServiceType);// foregroundServiceTypeNotification must be a subset of types specified in the manifest entry

3.总结

Android 11上新增“摄像头”和“麦克风”的foregroundServiceType,target SDK为Android 11的应用必须适配该行为变更,否则即使使用前台服务,也无法在其中获取到对应权限保护的敏感数据。

4.详细参考资料

Android 11 中的前台服务类型:

https://developer.android.google.cn/preview/privacy/foreground-service-types


使用OPPO远程真机进行Android 11兼容测试

OPPO开放平台远程真机现已上线了搭载有Android 11 开发者预览版的测试机型——OPPO Find X2,欢迎开发者前来使用。

OPPO远程真机官网链接:

https://open.oppomobile.com/newservice/capability?pagename=cloudmachine 938e9bae43d812205244e7519b6f20ff.png fa3a0eb31a63499b8d0ed7ebc0711bb2.pngfa3a0eb31a63499b8d0ed7ebc0711bb2.png  An droid 11 开发者测试版适配指引
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值