我们的Android应用程序适用于常规设备以及可穿戴设备,如谷歌眼镜等。如果该应用程序在可穿戴设备上运行,我需要添加额外的功能。是否有API来检查设备是否可穿戴?致以问候。
发布于 2016-09-07 04:09:02
如果应用程序在手表上,那么手表很可能连接到手机上。使用可穿戴式NodeAPI检测电话。这并不能保证如果设备没有连接,它就不是手表。但是,假设这个应用程序应该可以在手表上正常工作,只要它不占用太多内存。
此外,手表没有无线网络(afaik),而大多数手机都有。检查一下wifi。然后决定“如果没有节点连接,并且我们有wifi,那么可以安全地假设我们正在使用电话”。
再说一次,对于应用程序的工作,这不应该真的很重要。我不小心在手表上安装了我的手机应用程序,它工作得很好,速度非常慢。
发布于 2016-09-09 23:57:55
可穿戴设备可以通过使用uimode的资源限定符进行检测:
在项目的res /
values-wear,
总之,
res/values/bool.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<bool name="isawearable">false</bool>
</resources>res/values-wear/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中找到其他可用的应用程序限定符
太棒了!
发布于 2017-09-13 18:25:36
通过使用android.os.Build类,您可以确定您的安卓应用程序运行在哪个操作系统版本、哪个产品、哪个设备上。
例如:你可以通过以下方式检测你的应用程序是否在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)。
https://stackoverflow.com/questions/39356020
复制相似问题