Android 11 强制用户使用内置相机应用,谷歌让安卓更封闭了吗?
当前位置 :首页>产业新闻>返回
时间:2020-08-21 编辑: 来源:极客邦科技 InfoQ

  在诞生之初,Android系统一直努力强调自由与灵活的设计思路,倡导开发者可以通过代码实现任何功能。与iOS相比,Android为人称道的正是这种开放的开源方式。但随着对安全性与隐私性的高度关注,情况早已有所变化。过去十年以来,Android的每一次重大更新都在以保护用户的名义关闭或限制某些功能。

  在即将到来的Android 11版本中,用户将无法选择第三方相机应用,为其他应用拍摄照片或视频。换言之,用户将只能使用内置相机应用。

7.png

  Android 11预计将于今年第三季度发布,而在最新的issue track中,开发者们发现最新版本再次更改了相机API的一些设定,用户将只能使用Android内置相机应用,这将对第三方相机如美颜、轻颜等App造成不小的影响。

  此次更改的核心,在于Android定义的Intent系统。举个例子,当你在各大App如知乎、极客时间等选择更新头像时,你可以选择拍摄图片上传或者从手机图库上传。而由于这些App本身并不提供拍摄功能,因此用户可以选择调用原生相机应用或第三方相机应用拍摄上传图像。这背后涉及到的就是Android的Intent系统。

  在Intent系统中,开发者只需要根据相应条件创建一项请求,Android就会提示用户从已安装的应用列表中做出选择,如下图:

8.png

  Android 10上的相机选取器

  但是,即将推送的Android 11版本对于这一机制做出了大刀阔斧的调整。有三项Intents的运作方式迎来变更,具体包括:VIDEO_CAPTURE、IMAGE_CAPTURE以及IMAGE_CAPTURE_SECURE。Android 11将自动提供预安装的相机应用以执行这类操作,用户无需(法)主动搜索其他应用。

  从Android 11版本开始,只有预安装的系统相机应用才能响应以下Intent操作:

  android.media.action.VIDEO_CAPTURE

  android.media.action.IMAGE_CAPTURE

  android.media.action.IMAGE_CAPTURE_SECURE

  如果有多款预安装系统相机应用可供选择,则系统会显示对话框,提示用户从中选择一种。如果你希望在应用中使用特定的第三方相机应用进行图像或视频捕捉,也需要通过在Intent当中明确指定目标软件包的名称或组件。

  谷歌在Android 11的新行为列表中提到了这项更改,并在Issue Tracker中进一步予以确认。虽然人们普遍认为此举是为了提升隐私性与安全性,但谷歌并没有解释这些Intents为什么有可能引发风险。也许某些恶意相机应用会诱导用户将其设置为默认选项,并借此捕捉本应保密的敏感内容。

  “……我们认为,对用户的隐私与安全的保护才是正确的权衡。”—谷歌Issue Tracker.

  Android 11不仅关闭了根据请求自动启动第三方预安装相机应用的选项,还阻止应用程序开发人员提供类似的界面以模拟这项传统功能。外网有人通过使用一些简单的代码进行测试,尝试查询手机上的相机应用,而后分别在安装有同一相机应用的Android 10与Android 11设备上加以运行。Android 10正确列出了所有已安装的相机应用,但Android 11却不会返回任何报告——甚至不会返回谷歌在设备上预安装的Camera应用。

9.png

  上图:Android 10上的调试器视图。下图:Android 11上的调试器视图。

10.png

  有人说,谷歌确实给开发者提供了一种解决方法,只是可用度不高。说明文档建议开发者明确提供软件包名称,以检查已安装的相机应用。这意味着开发者必须预先指定首选应用,并将用户直接定向至这些应用处。当然,也有其他方法能够在无需指定所有软件包名称的前提下获取选项,例如获取全部应用列表,而后手动搜索Intent过滤器,但这似乎比指定名称还要复杂。

  至少在目前的Android 11 beta版中,这一设定已经切实起效,并影响到一切以API 30或更低版本为目标的应用程序。目前还不清楚Android CTS(兼容性测试套件)是否也有同样的变动,或者说允许OEM厂商将其更改为原本的规则。但就现在的情况看,谷歌很可能会将此设定为Android的未来标准。

  这项调整的影响不能说特别大,毕竟对于大部分一直在默认使用内置相机应用的用户来说,其实不会受到任何影响。另外,大多数应用仍然允许用户先打开自己喜爱的相机应用拍下照片,然后再通过图库进行上传。但是,用户的操作过程确实更繁琐了,对于那些需要经常使用特定滤镜拍摄个人资料图片、或者习惯用G Cam端口替代默认相机的用户不太友好。此外,某些应用还不允许使用其他工作流,意味着我们在其中将无法使用任何相机应用。

  在此项变更的issue track区域,也有许多Android开发者提出了明确的质疑:

  请详细解释下使用第三方相机应用怎么就恶意了?

  我完全不同意……至少也应该给一个新的开发者选项,让用户可以有选择的权利,目前为止我没看到这个变更有什么好的地方。

  Android的创建原则之一就是开放的性质和为每个任务选择应用程序的能力。消除了这些选择,你就像苹果一样,封闭的生态系统,创新有限。

  这项变更是谁负责的?

  ……

  从以上的开发者吐槽也可以看出,开放、创新是Android系统的灵魂,这也是其区别于iOS系统的一大差异。但从近几年手机OS的发展规律来看,Android变得越来越iOS,iOS变得越来越像Android。

  而最近几次Android大版本的更新,总是伴随着谷歌强制这,谷歌强制那的新闻,从收紧文件访问权、收紧API调用、统一手势操作、强制无缝更新等争议颇多的新feature就可以看出谷歌试图统一Android的生态和标准。但Android生态的多样性,恰恰也是Android系统可玩性的体验,如果大家都大差不差,Android手机也就变成了只有长相不同的苹果手机。

  谷歌的官方解释是为了用户隐私与安全,但目前来看,这个理由似乎并不受Android开发者们的认可。有趣的是,当苹果表示不会为Safari浏览器的WebKit引擎中实现16个Web API,理由是它们构成了隐私威胁时,谷歌的工程师认为苹果是在维护自己的蛋糕。


2月微信小游戏百强榜

《神隐之子》挖掘赛道亮点

摔角游戏买量观察

健康游戏忠告:抵制不良游戏 拒绝盗版游戏 注意自我保护 谨防上当受骗 适度游戏益脑 沉迷游戏伤身 合理安排时间 享受健康生活

京ICP备15024595号-1

游戏客栈 游戏客栈