Android 11 强制用户使用内置系统相机应用
reddit 的一篇帖子介绍了 Android 11 调用相机 API 的重大变化,根据这篇帖子引用的博客文章的介绍,Android 11 包含一些行为变更,这些变更可能会影响以 Android 11 或更高版本为目标平台的应用,其中一项变更包括:
从 Android 11 开始,只有预装的系统相机应用可以响应以下 intent 操作:
android.media.action.VIDEO_CAPTURE
android.media.action.IMAGE_CAPTURE
android.media.action.IMAGE_CAPTURE_SECURE
如果有多个预装的系统相机应用可用,系统会显示一个对话框,供用户选择应用。如果您希望自己的应用使用特定的第三方相机应用来代表其捕获图片或视频,可以通过为 intent 设置软件包名称或组件来使这些 intent 变得明确。
可以看到,对于三个特定的需要调用摄像头的 intent(VIDEO_CAPTURE、IMAGE_CAPTURE 和 IMAGE_CAPTURE_SECURE),Android 11 现在将自动提供预装的系统相机应用以执行这些操作,而无需使用其他应用程序。虽然文档中提到了“变通”的方法,但这种方法并不是那么方便,因为它要求设置显式处理程序的包名称或组件,这意味着开发者必须预先选择首选应用程序。
而在之前的版本中,开发者如果要调用摄像头,只需按照几个条件创建一个请求,Android 就会提示用户从已安装的应用列表中进行选择。
▲ Android 10 的相机选择器
换句话说,这就是强迫用户使用预装的内置系统相机应用。用户在 IssueTracker 反馈了此问题,谷歌工程师回应称“保护用户的隐私和安全是正确的权衡”。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
逐步淘汰,微软宣布多款产品将停止支持 IE11
微软方面宣布,自今年 11 月 30 日起,Microsoft Teams Web 应用将停止对 Internet Explorer 11(IE11)的支持;到2021 年 8 月 17 日,Microsoft 365 应用和服务将全面停止对 IE11 的支持。 同时,其还将于 2021 年 3 月 9 日起结束对旧版 Edge 浏览器(Edge Legacy)的支持,建议用户开始使用新版 Edge 浏览器。 该公司做出解释称,Microsoft 365 不再支持 IE11 意味着,在上述日期之后,用户在使用 IE11 访问 Microsoft 365应用和服务时将会获得降级体验或者会出现无法连接的状况。 而所谓“降级体验”则指的是,Microsoft 365 的新功能将不可用,或一些功能可能在通过 IE11 访问或服务时停止工作。”虽然我们知道某些客户将很难进行此更改,但我们相信,使用新的 Microsoft Edge 时,客户将从 Microsoft 365 中获得最大收益。“ 不过,微软方面也指出,IE11并不会消失。因为“IE11 是 Windows 操作系统的组件,遵循其所在...
-
下一篇
无锁缓存,每秒10万并发,究竟如何实现?
有一类业务场景: (1)超高吞吐量,每秒要处理海量请求; (2)写多读少,大部分请求是对数据进行修改,少部分请求对数据进行读取; 这类业务,有什么实现技巧么? 接下来,一起听我从案例入手,娓娓道来。 快狗打车,场景举例: (1)司机地理位置信息会随时变化,可能 每几秒钟地理位置要修改一次 ; (2)用户打车的时候查看某个司机的地理位置, 查询地理位置的频率相对较低 ; 这里要用到两个接口: (1)大量修改司机信息: void SetDriverInfo(long driver_id, DriverInfo info); (2)相对少量查询司机信息: DriverInfo GetDriverInfo(long driver_id); 这一类业务,一般怎么实现呢? 具体到底层的实现,往往是 一个Map内存缓存 : (1)查询key定长,例如:司机ID; (2)返回value也定长,例如:司机实体序列化后的二进制串; 即,类似这样的一个kv缓存结构: Map<driver_id, DriverInfo> 这个kv内存缓存是一个临界资源,对它的并发访问,有什么注意事项么? 临界资源...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2全家桶,快速入门学习开发网站教程
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合Redis,开启缓存,提高访问速度
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- CentOS7,8上快速安装Gitea,搭建Git服务器