You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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真机上可正常工作。

临时解决方案

  1. 优先使用Wear OS 4真机测试:若有真机,直接用真机验证功能,真机上startRemoteActivity的行为与Wear OS 3完全一致
  2. 模拟器调试替代方案:
    检测到目标节点为模拟器时,改用消息传递的方式触发手表端打开商店:
    • 手机端发送商店链接消息:
      // 替换原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)
              }
          }
      }
      
    注意:需要在手表端Manifest中注册该服务,并添加Wearable相关权限
  3. 等待模拟器更新修复:Google已收到相关反馈,后续模拟器版本大概率会修复此问题,可关注Android Studio模拟器的更新日志

代码正确性说明

你提供的代码逻辑没有问题,Wear OS 3环境下的正常运行已验证这一点。问题根源在于Wear OS 4模拟器的Remote Activity通信通道存在阻塞,导致await()一直处于挂起状态。

内容的提问来源于stack exchange,提问作者AZX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 05:32:51