1

我已经成功制作了一个项目 apk,允许手表下载磨损应用程序。而且我正在尝试使用该可穿戴代码来支持独立的wear 2.0 - 互联网上的资源似乎并不多。

我的问题是如何确定可穿戴设备是 1.0 还是 2.0。我基于此链接使用了 productFlavors ,如下所示:

android {
// Allows you to reference product flavors in your
// phone module's build.gradle file
publishNonDefault true
...
defaultConfig
{
   // This is the minSdkVersion of the Wear 1.x embedded app
   minSdkVersion 23
   ...
}
buildTypes {...}
productFlavors {
    wear1 {
      // Use the defaultConfig value
    }
    wear2 {
        minSdkVersion 25
    }
}
}

我记得,Wear 1.0 通常从手机收集数据,Wear 2.0 可以通过互联网访问数据。如果我错了,请纠正我。

因此,如果可穿戴设备是 1.0,它使用 Wea​​rable.API 并与手机同步。否则,可穿戴设备与云同步。

我看了一下这个帖子,看起来很有用,但我不太明白。

PackageManager pm = getApplicationContext().getPackageManager();
pm.getPackageInfo(packagename, PackageManager.GET_ACTIVITIES);

我应该为 wear2 设置一个不同的包名(或 applicationId)以便我可以使用这个方法吗?当我将独立版本放在 Play 商店时有什么缺点吗?我想我必须以这种方式创建一个新项目。

请任何人都可以建议实现我的目的的最佳方法吗?

4

1 回答 1

0

如果您想分发和维护两个单独的 APK,那么构建风格可能是一种合理的选择。但我建议这对您或您的用户来说都不是一个好的体验;这对您来说工作量更大,而且会让他们感到困惑(我安装哪个版本?为什么我的手表升级到 Wear 2.0 后这个应用程序无法运行?等等)。

我的建议是将所有内容放在一个 APK 中,然后简单地选择在运行时使用哪种同步技术:

if (Build.VERSION.SDK_INT < 24) {
    // Wear 1.x
} else {
    // Wear 2+
}
于 2017-05-12T15:29:53.943 回答