从本机应用程序中,我们如何通过代码检测Google Glass与智能手机的对比?
正确回答问题:
boolean isRunningOnGlass() {
return "Google".equalsIgnoreCase(Build.MANUFACTURER) && Build.MODEL.startsWith("Glass");
}
答案 0 :(得分:6)
另一种方法是使用Build API:
http://developer.android.com/reference/android/os/Build.html
答案 1 :(得分:4)
使用GDK,您可以使用:
boolean isRunningOnGlass() {
return "Google".equalsIgnoreCase(Build.MANUFACTURER) && Build.MODEL.startsWith("Glass");
}
(如果出现Google Glas的新型号,模型检查可能会很好。)
答案 2 :(得分:0)
我怀疑会有一种正式的方法来获得这个,但也许你可以使用浏览器用户代理:
1)在Android上,您可以通过以下方式以编程方式获取用户代理:how to get the default HTTP USER AGENT from the android device?
2)用户代理当然可以改变,但是在2013年7月它是/是:
Mozilla/5.0 (Linux; U; Android 4.0.4; en-us; Glass 1 Build/IMM76L; XE7) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30
答案 3 :(得分:0)
你可以通过使用android.os.Build类找出你的Android应用程序在哪个OS Build,Product,Device等上运行。
例如:您可以检测您的应用是否在谷歌眼镜(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);
if (isGlass()){
Log.e("isGlass","True");
}
} else {
Log.e("Other",""+Build.VERSION.SDK_INT);
}
boolean isGlass(){return"Google".equalsIgnoreCase(Build.MANUFACTURER)&&Build.MODEL.startsWith("Glass");
}
记录结果
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 KITKAT_WATCH = 20)。