检查是移动还是可穿戴

时间:2016-07-16 14:52:19

标签: android wear-os

我的Android应用程序(具有可穿戴支持)包含三个库:移动(移动部分),穿戴(可穿戴部分)和通用(移动和佩戴所依赖的通用库)。

在公共库的一些代码中,我需要找出它是在移动设备还是可穿戴设备上执行的。这样做的好方法是什么?

2 个答案:

答案 0 :(得分:0)

其他人可能会提出一种直截了当的官方方式,但这里有一些简单的DIY技巧:

  1. 检查每个Wear设备上是否存在包(但仅包括Wear设备),例如com.google.android.apps.wearable.settings。如果佩戴设备(或更新)在没有此包裹的情况下到达,则可能会非常脆弱。

  2. 在您自己的模块中定义可穿戴设备与掌上电脑不同的资源。然后,您只需在代码中的任意位置检查该资源,以确定它在哪个设备上运行。

答案 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);
    }
}