RemoteActivityHelper.startRemoteActivity 不适用于 Android Wear OS 4 模拟器

问题描述 投票:0回答:1

我正在为我的 Android Wear OS 表盘开发一个配套应用程序。我正在尝试使用

startRemoteActivity
方法来启动 Google Play 商店和手表,用户可以在其中下载表盘(这是表盘配套应用程序要做的非常典型的事情)。

但是,调用

startRemoteActivity
方法在 Wear OS 4 模拟器上打开商店不起作用(与 Wear OS 3 模拟器和物理设备结合使用时可以正常工作)。它不会抛出任何异常,它只是不执行任何操作。函数的调用永远不会完成,代码执行永远卡在
startRemoteActivity
行上。下面,您可以看到我的代码,但我怀疑它有什么问题(继续阅读,看看我为什么这么认为)。

我在手机上安装了第 3 方表盘配套应用程序,但它们似乎也无法与 Wear OS 4 模拟器配合使用。他们检测到已连接/配对的手表(与我的配套应用程序相同),但当需要启动远程活动(通常是打开 Google Play 商店)时,什么也没有发生(同样,与我的应用程序中相同)。

还有其他人注意到类似的事情吗?

startRemoteActivity
RemoteActivityHelper
方法与Wear OS 4模拟器结合使用对你们有用吗?

我安装了最新的 macOS Hedgehog 版本的 Android Studio,以及最新的模拟器、工具等等。

            val connectedNodes = nodeClient.connectedNodes.await()
            if (connectedNodes.isEmpty())
                return false

            val intent = Intent(Intent.ACTION_VIEW)
                .addCategory(Intent.CATEGORY_DEFAULT)
                .addCategory(Intent.CATEGORY_BROWSABLE)
                .setData(Uri.parse(storeLink))

            var startedStoreOnAtLeastOneDevice = false
            var atLeastOneNodeReportedAnError = false

            for (node in connectedNodes) {
                try {
                    remoteActivityHelper
                        .startRemoteActivity(
                            targetIntent = intent,
                            targetNodeId = node.id
                        ).await()

                    startedStoreOnAtLeastOneDevice = true
                } catch (t: Throwable) {
                    atLeastOneNodeReportedAnError = true
                }
            }
android wear-os watch-face-api
1个回答
0
投票

问题解决了。如果其他人遇到同样的问题,在模拟器中升级“Wear OS by Google”应用程序可以解决问题。步骤如下:

  1. 在 Wear OS 4 模拟器上打开
    Play Store
    应用程序。
  2. 一直向下滚动并选择
    Manage apps
    选项(从底部数第二个)。
  3. 安装所有可用更新(在我的例子中,模拟器有 6 个待定更新,“Wear OS by Google”是重要的更新)。
© www.soinside.com 2019 - 2024. All rights reserved.