Wear OS 4 基于 Android 13(API 级别 33),这比 Wear OS 3(基于 Android 11,API 级别 30)的版本高出几个版本。因此,当您准备将 Wear OS 应用用于 Wear OS 4 时,您需要处理对 Android 12 和 Android 13 中所有应用生效的系统行为变更。
您可以通过 面向 Android 13(API 级别 33) 来进一步提高您的应用与此 Wear OS 版本的兼容性。
权限变更
以下与权限相关的变更最有可能影响在运行 Wear OS 4 或更高版本的设备上的 Wear OS 应用。
通知权限
在大多数情况下,用户必须为您的应用授予 通知运行时权限,包括当您的应用发布 正在进行的活动 的通知时。
当用户在运行 Wear OS 4 或更高版本的设备上安装您的应用时,您的应用的通知默认情况下是关闭的。在发布本地通知或启动正在进行的活动之前,请通过调用 areNotificationsEnabled()
检查您的应用是否被允许发布通知。如果此方法返回 true
,则您的应用可以显示通知。如果您的应用没有正确的权限,这些通知将静默失败,不会抛出任何运行时异常。
当您在应用中请求 POST_NOTIFICATIONS
权限时,用户会看到图 1 中显示的系统权限对话框。
后台人体传感器权限
在运行 Wear OS 4 或更高版本的设备上,用户必须授予您的应用权限才能在后台获取来自常用人体传感器(例如心率)的信息。
请在关于 请求访问人体传感器数据后台权限 的指南中了解更多信息。
近似位置权限
在运行 Wear OS 4 或更高版本的设备上,即使您的应用请求 ACCESS_FINE_LOCATION
运行时权限,用户也可以请求您的应用仅检索近似位置信息。
检查您的应用是否仍然可以完成其关键用例(例如显示跑步路线),即使用户仅授予近似位置权限。特别是当在 Wear OS 上使用健康服务时,请考虑位置误差。
了解用户 如何仅授予近似位置权限 的更多信息。
应用组件和导航的变更
以下与应用组件和导航相关的变更最有可能影响在运行 Wear OS 4 或更高版本的设备上的 Wear OS 应用。
意图过滤器阻止不匹配的意图
当您的应用将意图发送到面向 Android 13 或更高版本的另一个应用的导出组件时,只有当该意图与接收应用中的 <intent-filter>
元素匹配时,才会传递该意图。
了解如何 将意图与其他应用的意图过滤器匹配。
根启动器活动行为
如果启动器活动声明的意图过滤器同时包含 ACTION_MAIN
和 CATEGORY_LAUNCHER
,则该启动器活动位于任务的根。
如果用户从这种启动器活动导航到上一屏幕,系统不会完成启动器活动。而是将其置于后台。
了解此对 根启动器活动 和活动生命周期的更改。
应用链接验证
系统对 Android 应用链接的验证方式进行了一些更改。特别是,系统 强制执行更严格的意图过滤器语法,以证明特定域中的 URL 应该直接在您的应用中打开内容。这些更改提高了应用链接体验的可靠性,从而为应用开发者和最终用户提供了更多控制权。
要测试声明的可靠性,请 手动调用域验证。
系统警告窗口UI已移除
Wear OS 4 移除了授予 SYSTEM_ALERT_WINDOW
权限的系统 UI。此 UI 可在某些运行 Wear OS 3 及更低版本的设备上使用。
如果您使用 ACTION_MANAGE_OVERLAY_PERMISSION
将用户发送到设置页面(他们可以在该页面上显示您的应用覆盖其他应用),请更新应用的逻辑。例如,如果您依赖系统警告窗口来显示重要消息,请改用 通知。
电源和数据管理的变更
以下与电源和数据管理相关的变更最有可能影响在运行 Wear OS 4 的设备上的 Wear OS 应用。
受限应用待机桶
如果长时间不使用您的应用,或者如果它调用过多的广播和绑定,系统会将您的应用放入 “受限”应用待机桶。
应用休眠
如果用户几个月没有与您的应用互动,系统会将您的应用置于 休眠 状态。
备份和还原
从 Wear OS 4 开始,如果特定的 Wear OS 设备支持云备份,用户可以 将其数据备份到云端 以将数据从该设备传输出去,并且他们可以从云端还原数据以将数据传输到新的 Wear OS 设备。