Cómo determinar si un dispositivo Android tiene una pantalla táctil?


Estoy gastando un tiempo considerable en hacer que mi interfaz de usuario funcione solo con la entrada del teclado. Pero al final no estoy seguro de si puedo confiar en la suposición de que todos los dispositivos Android tienen pantallas táctiles.

¿Hay alguna forma de determinar si un dispositivo Android tiene una pantalla táctil?

Author: hippietrail, 2010-08-11

4 answers

Debes investigar los dispositivos existentes y leer el Documento de Definición de Compatibilidad de Android (CDD) y decidir por ti mismo.

He pasado un tiempo considerable tratando de resolver este problema por mí mismo. Los carteles anteriores son correctos que Android ya alimenta algunos dispositivos no táctiles y alimentará a Google TV en un futuro cercano, pero tal como está actualmente, el CDD requiere específicamente que TODOS los dispositivos Android DEBEN tener una pantalla táctil .

Básicamente, el programa de compatibilidad de Android fue creado para protegerse contra el tipo de fragmentación problemas que te preocupan ahora. Enumera un montón de requisitos, y si un dispositivo no cumple con esos requisitos, no obtiene acceso a Android Market. Estos requisitos incluyen una pantalla táctil, comunicación inalámbrica, bluetooth, una cámara y mucho más.

Si investiga esas tabletas y netbooks, encontrará que no es un single one lleva el Android Market. Augen recientemente trató de tirar de una rápida con su nueva GENTOUCH 78 tableta, pero tuvo que rescindir sus reclamaciones que la tableta llevaría Android Market después de ser derribado por el Equipo de Compatibilidad de Android.

Por lo tanto, si solo está distribuyendo su aplicación a través de Android Market, no tiene nada de qué preocuparse hasta que Google cambie el CDD. Pero si desea ofrecer su aplicación en otras tiendas de aplicaciones o como descarga directa, entonces tiene que preocuparse por sus problemas de navegación de modo clave.

Si te sirve de consuelo, he encontrado que muchas, muchas aplicaciones tienen exactamente el mismo problema; son imposibles de usar sin una pantalla táctil. Muchos de ellos también tienen problemas graves con el enfoque y el teclado de software. A veces el teclado se queda cuando debería estar oculto. A veces no puede hacer que el teclado aparezca sin importar cuántas veces haga clic en un EditText. IMO, el marco de Android no maneja estos las cosas tan bien.

Teniendo en cuenta todo eso, sin duda será interesante ver cómo Google TV encaja en todo esto. ¿Actualizarán el CDD para que sea compatible con sus decodificadores? ¿Usarán un SDK y un CDD diferentes para las implementaciones de Google TV? ¿Ignorarán por completo el Programa de compatibilidad cuando se trata de Google TV? Tu suposición es tan buena como la mía.

Actualización:
Parece que alguien en Google finalmente se ha presentado y admitió que Android es no está listo para funcionar en una tableta: http://phandroid.com/2010/09/10/shocker-google-says-android-not-meant-for-tablets-in-its-current-state/

Para mí, esto dice que Google no estaba preparado para la adopción acelerada del sistema operativo Android y no ha trazado adecuadamente el futuro de la plataforma. El soporte de pantallas de más de 480x800 es apenas posible, y Samsung solo fue capaz de hacerlo trabajando estrechamente con Google en la Galaxy Tab. Así que no estoy tan seguro de que tengamos que preocuparnos por dispositivos sin pantalla táctil en un futuro próximo. Estarán aquí eventualmente, estoy seguro, pero cuando lleguen podemos ver un mercado de aplicaciones separado solo para aquellos, o algún esquema de filtrado alterado en el mercado existente, un nuevo CDD, quién sabe.

Para mí, esto dice que Google todavía está jugando de oído, y vamos a tener que hacer lo mismo.

 24
Author: Neil Traft,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-17 15:50:37

Todos los teléfonos hasta ahora tienen pantallas táctiles, pero no hay ninguna promesa de que deban.

Sin embargo, hay un montón de netbooks, notebooks, y pronto a ser televisores que no tienen pantalla táctil. Sin embargo, estos dispositivos tienen ratones. Por lo que he visto, la entrada del ratón se bombea a través del sistema táctil, por lo que MouseDown es ACTION_DOWN, etc... (No sé acerca de clic derecho aunque)

 3
Author: Moncader,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-11 01:37:51

¿Estás apuntando solo a los teléfonos? Android está apareciendo en muchos dispositivos incluyendo TV No tengo idea de si se lanzarán nuevas libs para aislar partes de los dispositivos entre sí, pero si desea una audiencia más amplia, le sugiero que mantenga la entrada del teclado disponible si está

 2
Author: Dylan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-08-11 01:22:51

Google TV (GTV) es el dispositivo Android notouch más popular (en el momento en que se compone esta respuesta). Sin embargo, hay varios dispositivos que llamarán a representaciones notouch si tiene recursos "notouch" (por ejemplo, un directorio como res/layout-notouch/)

Para acomodar dispositivos notouch, asegúrese de que el enfoque causará un indicador de selección visual, y (para GTV) que los oyentes de pulsaciones de teclas estén en su lugar para el botón central direccional. El uso de widgets y temas predeterminados a menudo lograr mucho de esto automáticamente. Si haces tus propios botones, necesitas parches de fondo 9 para enfocado y enfocado + presionado.

Ejecutar en un GTV es un buen entorno de prueba para asegurarse de que notouch funciona bien, y GTV tiene un emulador ahora, aunque solo se ejecuta en Linux/x86.

 -1
Author: larham1,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-30 16:57:14