首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

旧API将被弃用:谷歌敦促开发者迁移至Android Q的气泡弹窗

在 I/O 2019 开发者大会上,谷歌宣布了许多应用、服务和开发者工具更新,但 Android OS 依然是各界关注的焦点。目前 Android 已在全球超过 25 亿台设备上运行,并且占据了 I/O 会议的大部分时间。今年的大会上,谷歌依然为 Android Q 带来了许多变化。比如在首日的《What's New in Android》会议上,谷歌就宣布了一项重大的 API 更改。

(题图 via XDA-Developers)

据悉,SYSTEM_ALERT_WINDOW 是一个允许开发者在屏幕顶上绘制叠加层的全局弹窗 API,比如大家最熟悉的聊天气泡(参考 Facebook Messenger)。

不过现在,Google 已决定在 Android Q 中,用 Bubbles API 来替代 SYSTEM_ALERT_WINDOW 。而且在未来的 Android 版本中,谷歌还将彻底弃用旧 API 。

需要指出的是,尽管 SYSTEM_ALERT_WINDOW 可以方便开发者在其它 App 窗口上叠加气泡窗口,但它也会带来明显的安全隐患,比如臭名昭著的“Cloak and Dagger”漏洞利用。

作为应对,谷歌开始对 Android Oreo 中回退区域的层叠加以限制,且在 Android Q(Go)版本中完全移除了对该 API 的访问。

对于用户来说,应该尽量通过手动管理,对应用授予特殊的屏幕操作权限(Google Play 商店应用会在安装时自动授权)。

庆幸的是,在 Android Q 中,应用只拥有对 SYSTEM_ALERT_WINDOW 的临时访问权限。

通过侧载(Sideload)方式安装的应用,只能获得 30 秒的访问权限。而通过 Play 商店安装的应用,则能够在重启前保持这项访问权限。

在未来的 Android 版本中,SYSTEM_ALERT_WINDOW 将被完全弃用。所有使用该 API 的 Android 应用,都必须转至 Android Q beta 2 中引入的全新气泡 API 。

不过,气泡(Bubbles)属于通知(Notification)API 的一部分,因此无法作为 SYSTEM_ALERT_WINDOW 的完全替代品。

虽然气泡能够以微小、可调整大小的形式出现,但它们必须满足一个或多个的条件,才能被通知 API 给调用。

至于彻底弃用 SYSTEM_ALERT_WINDOW API 的时间,谷歌尚未给出确切的时间表。但是对于开发者来说,现在也是时候做好迁移至 Bubbles API 的准备了。

  • 发表于:
  • 原文链接http://news.51cto.com/art/201905/596181.htm
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券