如何检测本地Android设备是否为可穿戴设备?
我们的Android应用程序可以在普通设备上运行,也可以在谷歌眼镜等可穿戴设备上运行。如果应用程序在可穿戴设备上运行,我需要添加额外的功能。是否有API来检查设备是否可穿戴?问候。如果应用程序在手表上,则手表可能连接到手机。使用可穿戴NodeAPI检测手机。这并不能保证如果设备未连接,它就不是手表。但是,假设应用程序在手表上可以正常工作,只要它不占用太多内存 此外,手表没有wifi(afaik),大多数手机都有。检查无线网络。然后决定“如果没有连接节点,并且我们有wifi,那么可以安全地假设我们正在使用手机”如何检测本地Android设备是否为可穿戴设备?,android,google-glass,Android,Google Glass,我们的Android应用程序可以在普通设备上运行,也可以在谷歌眼镜等可穿戴设备上运行。如果应用程序在可穿戴设备上运行,我需要添加额外的功能。是否有API来检查设备是否可穿戴?问候。如果应用程序在手表上,则手表可能连接到手机。使用可穿戴NodeAPI检测手机。这并不能保证如果设备未连接,它就不是手表。但是,假设应用程序在手表上可以正常工作,只要它不占用太多内存 此外,手表没有wifi(afaik),大多数手机都有。检查无线网络。然后决定“如果没有连接节点,并且我们有wifi,那么可以安全地假设我们
同样,对于应用程序的运行来说,这并不重要。我不小心在手表上安装了我的手机应用程序,它运行得很好,速度非常慢。如果应用程序在手表上,手表可能与手机相连。使用可穿戴NodeAPI检测手机。这并不能保证如果设备未连接,它就不是手表。但是,假设应用程序在手表上可以正常工作,只要它不占用太多内存 此外,手表没有wifi(afaik),大多数手机都有。检查无线网络。然后决定“如果没有连接节点,并且我们有wifi,那么可以安全地假设我们正在使用手机”
同样,对于应用程序的运行来说,这并不重要。我不小心在手表上安装了我的手机应用程序,它运行得很好,速度非常慢。可穿戴设备可以通过uimode使用资源限定符进行检测:
false
values-wear
的新文件夹true
<?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使用资源限定符进行检测:
false
values-wear
的新文件夹true
<?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的系统功能方式应该是可接受的答案!