我的Android应用程序(具有可穿戴支持)包含三个库:移动(移动部分),穿戴(可穿戴部分)和通用(移动和佩戴所依赖的通用库)。
在公共库的一些代码中,我需要找出它是在移动设备还是可穿戴设备上执行的。这样做的好方法是什么?
答案 0 :(得分:0)
其他人可能会提出一种直截了当的官方方式,但这里有一些简单的DIY技巧:
检查每个Wear设备上是否存在包(但仅包括Wear设备),例如com.google.android.apps.wearable.settings
。如果佩戴设备(或更新)在没有此包裹的情况下到达,则可能会非常脆弱。
在您自己的模块中定义可穿戴设备与掌上电脑不同的资源。然后,您只需在代码中的任意位置检查该资源,以确定它在哪个设备上运行。
答案 1 :(得分:0)
这就是我使用的。
public static boolean isWatch(Context context){
if (Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT_WATCH) {
return false;
}else{
return context.getPackageManager().hasSystemFeature(PackageManager.FEATURE_WATCH);
}
}