我正在为我的 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
}
}
问题解决了。如果其他人遇到同样的问题,在模拟器中升级“Wear OS by Google”应用程序可以解决问题。步骤如下:
Play Store
应用程序。Manage apps
选项(从底部数第二个)。