Как определить, имеет ли устройство Android сенсорный экран? - PullRequest
36 голосов
/ 11 августа 2010

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

Есть ли способ определить, имеет ли устройство Android сенсорный экран?

Ответы [ 4 ]

24 голосов
/ 11 августа 2010

Вам следует изучить существующие устройства и прочитать Документ с определениями совместимости Android (CDD) и решить для себя.

Я потратил довольно много времени, пытаясь решить эту проблему для себя,Приведенные выше сообщения верны, что Android уже работает на некоторых не сенсорных устройствах и будет поддерживать Google TV в ближайшем будущем, но в том виде, в котором он сейчас установлен, CDD специально требует, чтобы ВСЕ устройства Android ДОЛЖНЫ иметь сенсорный экран .

По сути, программа Android Compatibility была создана для защиты от проблем фрагментации , о которых вы сейчас беспокоитесь.В нем перечислены несколько требований, и , если устройство не соответствует этим требованиям, оно не получает доступ к Android Market.Эти требования включают сенсорный экран, беспроводную связь, Bluetooth, камеру и многое другое.

Если вы исследуете эти планшеты и нетбуки, вы обнаружите, что нет ни одного Android Market.Недавно Augen попытался ускорить работу со своим новым планшетом GENTOUCH 78, но ему пришлось отменить свои заявления о том, что планшет будет нести Android Market после того, как его сбила команда по совместимости Android.

Так что, если вы распространяете свое приложение только через Android Market, вам не о чем беспокоиться, пока Google не изменит CDD.Но если вы хотите разместить свое приложение в других магазинах приложений или в виде прямой загрузки, вам придется беспокоиться о проблемах с навигацией в режиме ключа.

Если это утешит вас, я обнаружил, что многие, многие приложения имеют точно такую ​​же проблему;их невозможно использовать без сенсорного экрана.У многих из них также есть серьезные проблемы с фокусировкой и программной клавиатурой.Иногда клавиатура остается включенной, когда она должна быть скрыта.Иногда вы не можете заставить клавиатуру всплывать, независимо от того, сколько раз вы нажимаете на EditText.IMO, фреймворк Android не очень хорошо справляется с этим.

Учитывая все это, безусловно, будет интересно посмотреть, как Google TV вписывается во все это.Будут ли они обновлять CDD для совместимости со своими приставками?Будут ли они использовать другой SDK и CDD для реализации Google TV?Будут ли они вообще игнорировать Программу совместимости, когда речь заходит о Google TV?Ваше предположение так же хорошо, как и мое.

Обновление:
Похоже, что кто-то в Google наконец-то вышел и признал, что Android не готов к работе на планшете: http://phandroid.com/2010/09/10/shocker-google-says-android-not-meant-for-tablets-in-its-current-state/

Для меня это говорит о том, что Google не был готов к ускоренному внедрению ОС Android и не адекватно определил будущее платформы.Поддержка экранов размером более 480x800 едва ли возможна, и Samsung удалось сделать это только в тесном сотрудничестве с Google на Galaxy Tab.Поэтому я не уверен, что нам нужно беспокоиться о не сенсорных устройствах в ближайшем будущем.Я уверен, что они будут здесь в конце концов, но когда они действительно появятся, мы можем увидеть отдельный рынок приложений только для них, или некоторую измененную схему фильтрации на существующем рынке, новый CDD, который знает.

Для меня это говорит о том, что Google по-прежнему воспроизводит его на слух, и нам просто нужно сделать то же самое.

3 голосов
/ 11 августа 2010

Все телефоны до сих пор имеют сенсорные экраны, но нет никаких обещаний, что они должны.

Однако есть много нетбуков, ноутбуков и, скорее всего, телевизоров без сенсорного экрана. Однако у этих устройств есть мыши. Из того, что я видел, ввод мыши прокачивается через сенсорную систему, поэтому MouseDown имеет значение ACTION_DOWN и т. Д. (Хотя и не знаю насчет правого щелчка)

2 голосов
/ 11 августа 2010

Вы нацеливаетесь только на телефоны?Android появляется на многих устройствах , включая телевизоры Я понятия не имею, будут ли выпущены новые библиотеки, чтобы изолировать части устройств друг от друга, но если вы хотите более широкую аудиторию, я бы рекомендовал оставить ввод с клавиатурыдоступно, если вы

0 голосов
/ 30 апреля 2012

Google TV (GTV) - это самое популярное устройство Android, работающее на компьютере (на момент написания этого ответа). Однако есть несколько устройств, которые будут вызывать рендеринг notouch, если у вас есть ресурсы «notouch» (например, такой каталог, как res / layout-notouch /)

Чтобы приспособить устройства Notouch, убедитесь, что фокусировка вызовет визуальный индикатор выбора, и (для GTV), чтобы слушатели нажатия клавиш были на месте для центральной кнопки панели направления. Использование виджетов и тем по умолчанию часто выполняет большую часть этого автоматически. Если вы создаете свои собственные кнопки, вам нужно 9 фоновых патчей для фокусировки и нажатия +.

Запуск на GTV - хорошая тестовая среда, чтобы убедиться, что notouch работает хорошо, и GTV теперь имеет эмулятор , хотя он работает только на Linux / x86.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...