如何检测本地Android设备是否是可穿戴设备?

时间:2016-09-06 18:56:49

标签: android google-glass

我们的Android应用适用于常规设备以及可穿戴设备,例如Google Glass等。如果应用在可穿戴设备上运行,我需要添加其他功能。是否有API来检查设备是否是可穿戴设备?问候。

3 个答案:

答案 0 :(得分:0)

如果应用程序在手表上,手表可能已连接到手机。使用Wearable NodeAPI检测手机。这并不能保证如果设备没有连接,它就不是手表。但是,假设,应用程序应该在手表上正常工作,只要它不会占用太多内存。

此外,手表没有wifi(afaik),大多数手机都有。检查wifi。然后决定"如果没有连接节点,并且我们有wifi,我们可以安全地假设我们在电话上#34;

同样,对于应用程序的工作,它并不重要。我不小心将手机应用程序安装在手表上,效果很好,速度非常慢。

答案 1 :(得分:0)

可以使用uimode使用资源限定符检测可穿戴设备:

  1. 在项目的res / values / bool.xml文件中,创建一个值为false的布尔资源,例如:<bool name="isawatch">false</bool>
  2. 在res中创建一个名为values-wear
  3. 的新文件夹
  4. 使用同名布尔资源创建另一个bool.xml文件,该资源具有真值<bool name="isawatch">true</bool>
  5. 总而言之,

    <强> RES /值/ bool.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isawearable">false</bool>
    </resources>
    

    <强> RES /值磨损/ bool.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isawearable">true</bool>
    </resources>
    

    现在您应该可以针对您的应用需求致电context.getResources().getBoolean(R.id.isawearable)了。

    作为一个加号,您可以在此处列出的Android文档表中找到其他可用的应用限定符,https://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources

    HTHS!

答案 2 :(得分:0)

你可以通过使用android.os.Build类找出你的Android应用程序在哪个OS Build,Product,Device等上运行。

例如:您可以通过以下方式检测您的应用是否在Google Glass(API 19)上运行:

if(Build.VERSION.SDK_INT==Build.VERSION_CODES.KITKAT){
    Log.e("SDK_INT",""+Build.VERSION.SDK_INT);
    Log.e("MODEL",""+Build.MODEL);
    Log.e("DEVICE",""+Build.DEVICE);
    Log.e("TYPE",""+Build.TYPE);
    Log.e("HARDWARE",""+Build.HARDWARE);
    Log.e("BRAND",""+Build.BRAND);
    Log.e("DISPLAY",""+Build.DISPLAY);
    Log.e("MANUFACTURER",""+Build.MANUFACTURER);
    Log.e("PRODUCT",""+Build.PRODUCT);
    } else {
    Log.e("Other",""+Build.VERSION.SDK_INT);
    }

记录结果

09-13 17:58:42.835 24240-24240/com.example.myxlab.beyondartest E/SDK_INT: 19
09-13 17:58:42.835 24240-24240/com.example.myxlab.beyondartest E/MODEL: Glass 1
09-13 17:58:42.835 24240-24240/com.example.myxlab.beyondartest E/DEVICE: glass-1

手表也是如此(API 20)。