以编程方式检测Google Glass

时间:2013-09-10 15:58:21

标签: google-glass google-gdk

从本机应用程序中,我们如何通过代码检测Google Glass与智能手机的对比?

正确回答问题:

boolean isRunningOnGlass() {
     return "Google".equalsIgnoreCase(Build.MANUFACTURER) && Build.MODEL.startsWith("Glass");
 }

4 个答案:

答案 0 :(得分:6)

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