RemoteActivityHelper.startRemoteActivity在Wear OS 4模拟器失效求助
Wear OS 4模拟器中startRemoteActivity启动Google Play商店无响应问题
问题现象
- Wear OS 3模拟器/真机上,调用
RemoteActivityHelper.startRemoteActivity()可正常在手表端打开Google Play商店下载表盘 - 切换到Wear OS 4模拟器后,该调用既不抛出异常,也无任何执行动作,代码永久卡在
await()行 - 第三方表盘配套应用也出现相同问题:能检测到配对手表,但启动远程打开商店的操作无响应
- 运行环境:macOS Hedgehog + 最新版Android Studio及模拟器工具
共性情况确认
目前已有多位开发者反馈该问题,属于Wear OS 4模拟器的兼容性bug,并非RemoteActivityHelperAPI本身失效——该API在Wear OS 4真机上可正常工作。
临时解决方案
- 优先使用Wear OS 4真机测试:若有真机,直接用真机验证功能,真机上
startRemoteActivity的行为与Wear OS 3完全一致 - 模拟器调试替代方案:
检测到目标节点为模拟器时,改用消息传递的方式触发手表端打开商店:- 手机端发送商店链接消息:
// 替换原startRemoteActivity的逻辑 nodeClient.sendMessage(node.id, "OPEN_STORE_ACTION", storeLink.toByteArray()).await() - 手表端添加消息监听服务:
class WearMessageListenerService : WearableListenerService() { override fun onMessageReceived(messageEvent: MessageEvent) { super.onMessageReceived(messageEvent) if (messageEvent.path == "OPEN_STORE_ACTION") { val storeLink = String(messageEvent.data) val intent = Intent(Intent.ACTION_VIEW) .addCategory(Intent.CATEGORY_DEFAULT) .addCategory(Intent.CATEGORY_BROWSABLE) .setData(Uri.parse(storeLink)) .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK) startActivity(intent) } } }
- 手机端发送商店链接消息:
- 等待模拟器更新修复:Google已收到相关反馈,后续模拟器版本大概率会修复此问题,可关注Android Studio模拟器的更新日志
代码正确性说明
你提供的代码逻辑没有问题,Wear OS 3环境下的正常运行已验证这一点。问题根源在于Wear OS 4模拟器的Remote Activity通信通道存在阻塞,导致await()一直处于挂起状态。
内容的提问来源于stack exchange,提问作者AZX
相关产品推荐
相关产品推荐

