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

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

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


person Hidden Android    schedule 11.08.2010    source источник
comment
Список устройств Android, en.wikipedia.org/wiki/List_of_Android_devices   -  person karim    schedule 17.09.2010


Ответы (4)


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

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

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

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

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

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

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

Обновление:
Кажется, кто-то из Google наконец признал, что Android не готов к работе на планшете: http://phandroid.com/2010/10 09/shocker-google-говорит-андроид-не-предназначен-для-планшетов-в-его-текущем-состоянии/

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

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

person Neil Traft    schedule 11.08.2010
comment
У нас уже есть прецедент того, что произойдет — если будущая версия CDD позволит устройствам, в которых отсутствуют функции, которые были необходимы, и поэтому приложения могли бы полагаться на них, то часть этого изменения будет включать поддержку платформы для этих приложений. Это может принимать форму совместимости с существующими приложениями для продолжения работы (см. введение различных плотностей экрана) или фильтрацию существующих приложений до тех пор, пока они не будут обновлены для явной поддержки нового типа устройств (см. введение маленьких экранов). - person hackbod; 11.08.2010
comment
Спасибо за ваше дополнение, мисс Хакборн. Должен ли я понимать это как то, что после появления Google TV CDD будет кардинально изменен (например, все требования к камере, GPS, USB и сенсорному экрану будут удалены)? Будут ли добавлены новые стандарты экрана в раздел 8.1? Можете ли вы дать нам быстрый взгляд на то, какие изменения мы можем ожидать? - person Neil Traft; 11.08.2010

Пока что все телефоны имеют сенсорные экраны, но никто не обещает, что они должны быть.

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

person Moncader    schedule 11.08.2010

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

person Dylan    schedule 11.08.2010

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

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

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

person larham1    schedule 30.04.2012