2020-08-05 10:58

AndroidOreo中的这一新提交尝试通过允许特权应用程序

导读尽管Android已经存在多年,但它离成为完美的智能手机操作系统还差得很远。有很多领域可以看到改进,并且可以肯定,我们正在逐步开发出更精

尽管Android已经存在多年,但它离成为完美的智能手机操作系统还差得很远。有很多领域可以看到改进,并且可以肯定,我们正在逐步开发出更精美的产品。一个这样的变化领域是Android如何处理媒体键事件侦听器,而Android Oreo 中的提交之一修复了自Android最早以来存在的监督问题。

在早期版本的Android中,安装在特定设备上的任何应用程序都可以随时捕获媒体按钮事件,只有其他应用程序才能将其夺走。因此,当您确实按下任何媒体按钮事件(例如播放/暂停/下一个/上一个)时,该命令可能无法到达您希望其访问的应用程序。通过PokémonGO和通过蓝牙播放音乐,可以看到这种行为的最常见示例之一-当PokémonGO位于前台时,音乐播放器通常不响应媒体命令。

Android Oreo中的这一新提交尝试通过允许特权应用程序(/ system / priv-app中存在的应用程序)设置媒体密钥事件侦听器的方式来解决此问题。如果特权应用设置了媒体密钥侦听器,则侦听器将在任何其他会话可以接收之前,但在全局优先级会话之后(Android系统本身)接收媒体密钥事件。如果设置的侦听器处理媒体密钥事件,则其他会话无法获取该事件。特权应用仍需要android.permission.SET_MEDIA_KEY_LISTENER

权限来设置侦听器。

简而言之,系统应用程序现在可以获得优先于媒体键事件的访问权限。这的确打开了门,使之略微被载体的过时软件误用,但同时也固定了可能导致烦人的用户体验的抓地力。尽管将来可能会由OEM实施,但此特定更改目前尚未在Android 8.0的面向用户的版本中实现。