2013-09-10 2 views
7

Из собственного приложения, как мы можем обнаружить Google Glass стихи смартфона из кода?Обнаруживать Google Glass программно

Moving правильного ответа на вопрос:

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

ответ

6

Другой способ сделать это было бы использовать API сборки:

http://developer.android.com/reference/android/os/Build.html

+0

Я сейчас нахожу это: if (android.os.Build.Model.Contains («Стекло»)); – Patrick

+0

Я рекомендую вам проверить как ПРОИЗВОДИТЕЛЬ, так и МОДЕЛЬ. (Для надежного механизма нам может понадобиться использовать уникальный класс/метод GDK. Я буду исследовать это. – ErstwhileIII

0

Я подозреваю, что там будет официальным способом получить это, но, возможно, вы могли бы использовать браузер агент пользователя:

1) На Android вы можете получить агент пользователя программно с помощью: how to get the default HTTP USER AGENT from the android device?

2) пользовательский агент может измениться, конечно, но в июле 2013 года он/был:

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

4

Использование GDK, вы можете использовать:

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

(Проверка модели может быть хорошим если появится новая модель Google Glas.)

+0

Это должен быть принятый ответ – bernatp

0

Вы можете найти приложение для Android, на котором работает OS Build, Product, D evice и т. д., используя класс 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); 
     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) ,

Смежные вопросы