Intereting Posts
Сообщение об ошибке 'java.net.SocketException: socket failed: EACCES (Permission denied)' Как узнать, включен ли GPS на Android с использованием Titanium Режимы отправки и получения DES для аутентификации DESFire Android – перехватчик OkHttp – ответ уже «поглощен» Как настроить пользовательские пространства имен в файле макета в студии Android? Robolectric (android): Тестирование событий? Удалить черный фон в пользовательском диалоговом окне Не удалось разрешить com.android.tools.build:gradle:0.5.+ Аудиоформат для iOS и Android Каков параметр Parcel.readStringArray ()? BottomSheetDialog остается скрытым после увольнения путем перетаскивания CUDA с opencv для Android Когда фрагмент фрагмента с SwipeRefreshLayout во время обновления, фрагмент замерзает, но на самом деле все еще работает Могу ли я получать уведомление, когда пользователь взаимодействует с устройством Android? Получить координаты экрана по конкретному местоположению и долготе (андроид)

Определите GoogleTv из приложения для Android

Есть ли способ для Android-приложения рассказать в коде Java, если он работает на GoogleTV против планшетов или телефонов?

Solutions Collecting From Web of "Определите GoogleTv из приложения для Android"

Следующая ссылка может вам помочь: Руководство разработчика Google TV Android. Чтобы оптимизировать ваше приложение для Google TV, просто добавьте дополнительную панель для больших экранов. Однако, если вы хотите определить устройство, которое в настоящее время использует приложение во время выполнения, вы можете попробовать метод hasSystemFeature () . С этим вы можете протестировать определенные аппаратные функции, уникальные для Google TV (например, вы можете протестировать FEATURE_TOUCHSCREEN, так как любое устройство, кроме Google TV, имеет <=>, если функция не поддерживается, приложение, вероятно, работает на телевизоре) ,

Вы можете спросить менеджера пакетов:

/** * Test if this device is a Google TV. * * See 32:00 in "Google I/O 2011: Building Android Apps for Google TV" * http://www.youtube.com/watch?v=CxLL-sR6XfM * * @return true if google tv */ public static boolean isGoogleTV(Context context) { final PackageManager pm = context.getPackageManager(); return pm.hasSystemFeature("com.google.android.tv"); } 

Плюс эта строка манифеста:

 <uses-feature android:name="com.google.android.tv" android:required="false" /> 

Согласно официальным документам :

Рекомендуемый способ определить, работает ли ваше приложение на телевизионном устройстве, – это использовать метод UiModeManager.getCurrentModeType (), чтобы проверить, работает ли устройство в телевизионном режиме. В следующем примере кода показано, как проверить, работает ли ваше приложение на телевизионном устройстве:

 public static final String TAG = "DeviceTypeRuntimeCheck"; UiModeManager uiModeManager = (UiModeManager) getSystemService(UI_MODE_SERVICE); if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION) { Log.d(TAG, "Running on a TV Device"); } else { Log.d(TAG, "Running on a non-TV Device"); } 

Вот как я собираю полезную информацию для обратной связи. Я не знаю, можно ли обнаружить тип устройства (телефон, vs table, vs. Google TV), но можно создать какую-то картографическую базу данных и сопоставить информацию с ней

 private String getDeviceInfo() { final StringBuilder sb = new StringBuilder("\n\n---\n"); try { sb.append("Version: ").append(getPackageManager().getPackageInfo(this.getPackageName(), 0).versionName) .append('\n'); } catch (final NameNotFoundException e) { // Shouldn't happen but if did - ignore Log.e(TAG, "failed to get app version", e); } sb.append("Model: ").append(Build.MODEL).append('\n'); sb.append("Brand: ").append(Build.BRAND).append('\n'); sb.append("Device: ").append(Build.DEVICE).append('\n'); sb.append("Display: ").append(Build.DISPLAY).append('\n'); sb.append("Hardware: ").append(Build.HARDWARE).append('\n'); sb.append("Manufacturer: ").append(Build.MANUFACTURER).append('\n'); sb.append("Host: ").append(Build.HOST).append('\n'); sb.append("Release: ").append(Build.VERSION.RELEASE).append('\n'); sb.append("Board: ").append(Build.BOARD).append('\n'); sb.append("Radio: ").append(Build.RADIO).append('\n'); sb.append("Product: ").append(Build.PRODUCT).append('\n'); return sb.toString(); }