如何在 WearOS 中以编程方式重启 Watch Face 服务?
How to restart Watch Face service programmatically in WearOS?
我的 WearOS 应用程序包含 CanvasWatchFaceService
,它不会在例如更改权限设置后或在我重建并重新安装并启动应用程序后重新启动。不幸的是,我只能手动重启它(长按一个表盘存根,然后 select 任何其他表盘,然后长按并再次 select 我的表盘)。
如何以编程方式重新创建表盘服务?因为如果用户再次安装应用程序并看到存根而不是原始表盘,这看起来很奇怪。
[更新] 我有三个必需的权限(按应用程序):Phone、物理 Activity 和传感器,所以我进行了实验并得到了这个:
更改权限时的表盘行为:
- 表盘在没有任何权限的情况下也能正常工作(因为是第一次安装该应用程序)
- 关闭所有权限后表盘崩溃
- 关闭 phone 权限(授予所有其他权限)后,表盘重新启动并运行良好
- 关闭物理 activity 权限(授予所有其他权限)后,表盘重新启动并运行良好
- 关闭传感器权限(授予所有其他权限)后,表盘重新启动并运行良好
- 表盘重新启动(每次权限关闭后 3 次)并且运行良好:关闭第一个权限,打开表盘,关闭第二个权限并打开表盘,关闭第三个权限并打开表盘
(因此所有权限都已关闭,但表盘运行良好)
- 案例:关闭#1 权限,等待 15 秒,关闭#2 权限,等待 15 秒,关闭#3 权限,等待 15 秒,然后打开 Watch Face:效果很好
2021 年 12 月 17 日,三星开发团队(在 Google 的相应票证后)回答说这是正常的平台行为,不会很快修复
我的 WearOS 应用程序包含 CanvasWatchFaceService
,它不会在例如更改权限设置后或在我重建并重新安装并启动应用程序后重新启动。不幸的是,我只能手动重启它(长按一个表盘存根,然后 select 任何其他表盘,然后长按并再次 select 我的表盘)。
如何以编程方式重新创建表盘服务?因为如果用户再次安装应用程序并看到存根而不是原始表盘,这看起来很奇怪。
[更新] 我有三个必需的权限(按应用程序):Phone、物理 Activity 和传感器,所以我进行了实验并得到了这个:
更改权限时的表盘行为:
- 表盘在没有任何权限的情况下也能正常工作(因为是第一次安装该应用程序)
- 关闭所有权限后表盘崩溃
- 关闭 phone 权限(授予所有其他权限)后,表盘重新启动并运行良好
- 关闭物理 activity 权限(授予所有其他权限)后,表盘重新启动并运行良好
- 关闭传感器权限(授予所有其他权限)后,表盘重新启动并运行良好
- 表盘重新启动(每次权限关闭后 3 次)并且运行良好:关闭第一个权限,打开表盘,关闭第二个权限并打开表盘,关闭第三个权限并打开表盘 (因此所有权限都已关闭,但表盘运行良好)
- 案例:关闭#1 权限,等待 15 秒,关闭#2 权限,等待 15 秒,关闭#3 权限,等待 15 秒,然后打开 Watch Face:效果很好
2021 年 12 月 17 日,三星开发团队(在 Google 的相应票证后)回答说这是正常的平台行为,不会很快修复