Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何检测本地Android设备是否为可穿戴设备?_Android_Google Glass - Fatal编程技术网

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

如何检测本地Android设备是否为可穿戴设备?,android,google-glass,Android,Google Glass,我们的Android应用程序可以在普通设备上运行,也可以在谷歌眼镜等可穿戴设备上运行。如果应用程序在可穿戴设备上运行,我需要添加额外的功能。是否有API来检查设备是否可穿戴?问候。如果应用程序在手表上,则手表可能连接到手机。使用可穿戴NodeAPI检测手机。这并不能保证如果设备未连接,它就不是手表。但是,假设应用程序在手表上可以正常工作,只要它不占用太多内存 此外,手表没有wifi(afaik),大多数手机都有。检查无线网络。然后决定“如果没有连接节点,并且我们有wifi,那么可以安全地假设我们

我们的Android应用程序可以在普通设备上运行,也可以在谷歌眼镜等可穿戴设备上运行。如果应用程序在可穿戴设备上运行,我需要添加额外的功能。是否有API来检查设备是否可穿戴?问候。

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

此外,手表没有wifi(afaik),大多数手机都有。检查无线网络。然后决定“如果没有连接节点,并且我们有wifi,那么可以安全地假设我们正在使用手机”


同样,对于应用程序的运行来说,这并不重要。我不小心在手表上安装了我的手机应用程序,它运行得很好,速度非常慢。

如果应用程序在手表上,手表可能与手机相连。使用可穿戴NodeAPI检测手机。这并不能保证如果设备未连接,它就不是手表。但是,假设应用程序在手表上可以正常工作,只要它不占用太多内存

此外,手表没有wifi(afaik),大多数手机都有。检查无线网络。然后决定“如果没有连接节点,并且我们有wifi,那么可以安全地假设我们正在使用手机”


同样,对于应用程序的运行来说,这并不重要。我不小心在手表上安装了我的手机应用程序,它运行得很好,速度非常慢。

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

  • 在项目的res/values/bool.xml文件中,创建一个值为false的布尔资源,例如:
    false
  • 在res中创建一个名为
    values-wear
    的新文件夹
  • 并使用同名布尔资源创建另一个bool.xml文件,该布尔资源的值为true,
    true
  • 总之

    res/values/bool.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isawearable">false</bool>
    </resources>
    
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isawearable">true</bool>
    </resources>
    
    
    假的
    
    res/values wear/bool.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isawearable">false</bool>
    </resources>
    
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isawearable">true</bool>
    </resources>
    
    
    真的
    
    现在你应该能够调用
    context.getResources().getBoolean(R.id.isaweable)
    来满足你的应用需求

    另外,您可以在这里列出的android文档表中找到其他可用的应用限定符


    哎呀

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

  • 在项目的res/values/bool.xml文件中,创建一个值为false的布尔资源,例如:
    false
  • 在res中创建一个名为
    values-wear
    的新文件夹
  • 并使用同名布尔资源创建另一个bool.xml文件,该布尔资源的值为true,
    true
  • 总之

    res/values/bool.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isawearable">false</bool>
    </resources>
    
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isawearable">true</bool>
    </resources>
    
    
    假的
    
    res/values wear/bool.xml

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isawearable">false</bool>
    </resources>
    
    <?xml version="1.0" encoding="utf-8"?>
    <resources>
        <bool name="isawearable">true</bool>
    </resources>
    
    
    真的
    
    现在你应该能够调用
    context.getResources().getBoolean(R.id.isaweable)
    来满足你的应用需求

    另外,您可以在这里列出的android文档表中找到其他可用的应用限定符


    哎呀

    通过使用android.OS.Build类,您可以确定您的android应用程序正在哪个操作系统版本、产品、设备等上运行

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

    日志结果

    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)。

    通过使用android.OS.Build类,您可以确定您的android应用程序正在哪个操作系统版本、产品、设备等上运行

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

    日志结果

    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)。

    只要有松紧带、尼龙搭扣(TM)和胶水,我就可以让任何手机或平板电脑成为可穿戴的。“可穿戴”与其说是一个技术声明,不如说是一个营销绰号。您可以通过
    PackageManager
    hasSystemFeature()
    FEATURE\u watch
    检测您正在手表上运行。鉴于
    功能的手表
    有“这里的手表被定义为戴在身体上的装置,也许是戴在手腕上的装置”,它可能对你有用。我不确定,但你不能检查分辨率并做出决定。例如,如果分辨率为280x280或320x320。感谢您的评论+1用于Velcro/胶水部件。请参阅答案以检测应用程序是否在Google Glass上运行。来自@Commonware的系统功能方式应该是可接受的答案!有了弹性、尼龙搭扣(TM)和胶水,我可以让任何手机或平板电脑成为可穿戴的。“可穿戴”与其说是一个技术声明,不如说是一个营销绰号。您可以通过
    PackageManager
    hasSystemFeature()
    FEATURE\u watch
    检测您正在手表上运行。鉴于
    功能的手表
    有“这里的手表被定义为戴在身体上的装置,也许是戴在手腕上的装置”,它可能对你有用。我不确定,但你不能检查分辨率并做出决定。例如,如果分辨率为280x280或320x320。感谢您的评论+1用于Velcro/胶水部件。请参阅答案以检测应用程序是否在Google Glass上运行。来自@Commonware的系统功能方式应该是可接受的答案!