检测连接的手表版本

Detecting connected watch version

根据Android Wear 2.0 guide,AndroidWear 2个应用程序将单独安装,一个来自phone上的Play商店,一个来自手表上的Play商店,不像Android Wear 1.x 个打包在一起的应用程序

因此指南建议应用程序应在需要配套应用程序但未安装在连接的设备上时通知用户。

不过,并非所有手表都会升级到 2.0,有些手表会停留在 1.x。这些手表会自动安装应用程序伴侣,如果缺少一个,则意味着应用程序需要一段时间才能通过蓝牙连接安装。在这些手表上显示 "install companion app" 通知是没有意义的,因为用户无法做任何事情来加快这个过程(旧手表上有 Play 商店)。

现在的问题是,如果已连接 2.x 手表没有应用程序,我找不到显示警告的方法,同时如果已连接手表 [=30],我也无法显示警告=] 1.x.

有什么好的方法可以区分两个不同连接的Android Wear版本吗?

目前没有一个好的方法来做到这一点。在 Wear 开发者 G+ 社区上已经讨论过几次,我们得出的最好的结论是:

  1. 继续发送 RemoteIntent 打开 Play 商店。
  2. 这样做时附上 RemoteIntent.ResultReceiver
  3. 如果手表 运行 佩戴 1.x,这将 return 的 resultCodeRESULT_FAILED,您可以向您的用户显示一条消息因此。

这显然不理想;它涉及 1.x 用户的无用步骤(尝试打开 Play 商店),而且也无法区分任何其他可能的失败模式。但截至今天,这是我们拥有的最好的。

讨论:

https://plus.google.com/+SterlingUdell/posts/XJZ8mAsaZ8B https://plus.google.com/u/0/+SterlingUdell/posts/WWBVxjcD7vT