Android 11有重大更新,与相机有关,你只能被迫接受



Android可能已经开始倡导只要允许开发人员编写代码就可以做任何事情,但是随着安全和隐私成为重中之重,多年来情况发生了变化。过去十年中的每一次重大更新都以保护用户的名义关闭了功能或增加了限制,但可能并不一定需要做出一些牺牲。另一个Android 11取舍出现了,这一次使用户无法选择第三方相机应用程序代表其他应用程序拍摄照片或视频,从而迫使用户仅依赖内置相机应用程序。#Android#

此更改的核心是Android的定义特征之一:Intent系统。假设你需要拍张新颖的咖啡杯的照片才能通过拍卖应用程序出售。由于拍卖应用程序不是为摄影而构建的,因此开发人员选择将其留给适当的相机应用程序使用。这就是Intent系统起作用的地方。开发人员只需按照几个条件创建一个请求,Android就会提示用户从已安装的应用列表中进行选择。

但是,对于要求提供照片或视频的应用程序,Android 11的情况将发生变化。三个特定的意图将不再起作用,包括:VIDEO_CAPTURE,IMAGE_CAPTURE和IMAGE_CAPTURE_SECURE。Android 11现在将自动提供预安装的相机应用程序以执行这些操作,而无需搜索其他应用程序来填补角色。

谷歌在Android 11中的新行为列表中描述了更改,并在问题跟踪器中进一步确认了更改。隐私和安全被认为是其原因,但是没有讨论到底是什么使这些意图变得危险。也许有些用户被诱骗将恶意相机应用程序设置为默认应用程序,然后使用它来捕获本应保密的内容。

Android 11不仅具有在请求时自动启动预安装的相机应用程序的自由,还阻止了应用程序开发人员方便地提供自己的界面来模拟相同的功能。测试人员使用一些简单的代码进行了测试,以查询手机上的摄像头应用程序,然后在运行Android 10和11且安装了相同摄像头应用程序的设备上运行该应用程序。Android 10提供了全套应用程序,但Android 11并未报告任何内容,甚至没有报告谷歌自己预装的Camera应用程序。

Android 10上的调试器视图

Android 11上的相同视图

一份报告指出,谷歌确实为开发人员规定了一种解决方法,尽管它不是很有用。该报告建议通过软件包名称明确检查已安装的相机应用程序,这意味着开发人员必须预先选择首选应用程序,并将用户直接发送到这些应用程序。当然,还有其他方法可以在不标识所有程序包名称的情况下获得选项,例如获取所有应用程序的列表,然后手动搜索意图过滤器,但这似乎过于复杂了。

至少在当前的Android 11 beta版本中强制实施了这一新行为,无论应用程序的目标是API 30还是更低版本的应用程序,都会发生这种新情况。尚不知道Android CTS(兼容性测试套件)是否会要求这种行为,或者是否允许OEM将其更改回以前的规则,但很可能这将成为未来的标准。

这当然不是一个灾难性的变化,对于许多已经默认使用内置相机的用户来说,它将是完全透明的。而且大多数应用仍将允许用户切换到他们喜欢的相机以拍摄好照片,然后从图库中上传。但是,这对用户来说意味着更多的工作,对于经常使用滤镜捕捉个人资料图片的人或那些依赖G Cam端口更换其备用相机的人来说,将需多操作两步。此外,某些应用程序不允许使用不同的工作流程,这意味着用户无法使用其他的任何相机应用程序。

对于Android 11这样的变化,您能接受吗?

作者:互联范儿

来源:https://baijiahao.baidu.com/s?id=1675410764878040841

举报
评论 0