解决 Flyme 连接三星手表自动断开且无法重连的问题

事因

我的主力机是魅族 18s Pro,今年二月的时候入了一块三星 Galaxy Watch 5 44mm,不过在使用中有很多问题,比如:

  1. 重启手机后有可能彻底无法连接手表,三星智能穿戴中提示“您的手表未连接至手机”;
  2. 手机端三星智能卡大概率无法正常启动,一直卡在“正在检查兼容性”的页面;
  3. 手机端三星健康有时候无法同步健康信息。

最严重的就是重启手机后彻底无法连接手表,只能重置手表重新连接,具体情况如下图

您的手表未连接至手机

​点击“连接”之后就卡在“正在连接至您的手表”,一直转圈圈,没法连接上(蓝牙是开启的,而且也正常配对连接着手表)

正在连接至您的手表

为了保持手表不断联,我当时甚至做到了一个多月手机不关机不重启……

​在 Flyme 10 发布后,我第一时间加入了新系统的内测,当更新完以后(被迫重启力),手表果然又连不上手机了。不过,这次的问题不像之前一样重新连接手表就能解决,在内测版 Flyme 10 上连接大概十分钟之后手表就会自动断联,像上面一样再也没法连接上了,不再是像之前一样只要不重启就能用。一开始还期待着后续内测版本应该会解决,但是内测更新了几轮之后这个问题还是存在,于是我开始自己尝试解决这个问题。

解决方案

​三星手表的连接机制是这样的:三星智能穿戴-Galaxy Watch5 Manager-WearOS by Google,用户桌面上点击三星智能穿戴后会启动 Galaxy Watch5 Manager,由 Galaxy Watch5 Manager 为用户提供各种功能和数据同步等,不过 Galaxy Watch5 Manager 需要通过 WearOS by Google 与手表建立蓝牙通信,传输各种信息。另外三星健康、三星智能卡、Samsung Health Monitor 等等甚至是第三方软件都需要通过 Galaxy Watch5 Manager 或 WearOS by Google 来作为中介和手表传输数据。所以我应用应该需要“获取应用列表” 以便在不同应用直接传输消息。由于在 Android 11 及以上版本中,应用使用 “PackageManager” 类的方法来获取应用列表时,开发者需要在 AndroidManifest.xml 中申请 QUERY_ALL_PACKAGES 权限,打开手机上的权限设置后可以看到,应用列表的权限默认情况下是 “仅在使用中允许”。

把 Galaxy Watch5 Manager、三星智能穿戴、WearOS by Google 的应用列表权限改为允许然后重启手机,果然,成功连上手表了,尝试手动断开手表再重新连接,一切正常,同时重启之后也不会出现连接不上的问题。另外三星智能卡也可以正常进入,不会再卡在“检查设备兼容性”的页面,各种数据同步问题也一起解决了,所以真正的问题其实是“应用列表”权限,始终允许之后,所有的问题全都解决了。


解决 Flyme 连接三星手表自动断开且无法重连的问题
https://flyfishxu.com/flyme-connect-galaxy-watch/
作者
Flyfish-Xu
发布于
2023年5月10日
许可协议