2011-10-04 22 views
26

Por razones comerciales, me gustaría restringir mi aplicación de Android estrictamente a tabletas.Manifiesto de Android Restringir a tabletas

Por el momento, puedo limitar la aplicación a dispositivos de nido de abeja mediante el establecimiento de:

android:minSdkVersion="11" 

Pero la próxima versión de Android (Ice Cream Sandwich) tendrá un número de versión mayor, tanto para la tableta y versiones de teléfono del sistema operativo.

¿Existe algún atributo de manifiesto que pueda especificar para restringirlo a los dispositivos de tableta? (Nido de abeja o cualquier otra versión de la tableta más adelante)

+0

Aquí está la [blog] (http://android-developers.blogspot.com/2011/09/preparing -for-handsets.html) especialmente para ti. – ernazm

Respuesta

45

Encontrará este enlace impresionante: http://android-developers.blogspot.com/2011/09/preparing-for-handsets.html

El problema con lo que llamamos "tableta" es que la definición no es la misma para evryone. Pienso en el Archos 5IT que es del mismo tamaño que un teléfono pero que tiene el nombre de "tableta". Mismo problema con Dell Streak.

me habría Personnaly no llamaría a eso una tableta ..

Así que si desea restringir a los dispositivos de 7 pulgadas o 5, se debe utilizar xlargeScreens y largeScreens.

(También hay un error en el folleto HTC - 7 pulgadas- que utiliza largeScreens, HTC culpa)

supongo que jugar con el tamaño de la pantalla en el manifiesto se ajuste a sus necesidades:

<supports-screens android:smallScreens="false" 
        android:normalScreens="false" 
        android:largeScreens="false" 
        android:xlargeScreens="true" 
        android:anyDensity="true" 
        android:requiresSmallestWidthDp="600" 
        android:compatibleWidthLimitDp="integer" 
        android:largestWidthLimitDp="integer"/> 

enter image description here

+0

Tuve que usar el código anterior para evitar que OS 3.2 me diera una comp de la vista. ventana emergente (algo específico para 3.2 por el momento) android: xlargeScreens = "true" – DJPlayer

+0

No soy obtener esta opción en mi archivo manifet androide: requiresSmallestWidthDp = "600" androide: compatibleWidthLimitDp = "entero" androide: largestWidthLimitDp = "entero" i Estoy usando Android 3.0 versión ... –

+1

reemplazar entero con algo ... O eliminar la línea! –

2
   android:requiresSmallestWidthDp="600" 
       android:compatibleWidthLimitDp="integer" 
       android:largestWidthLimitDp="integer" 

Tenga cuidado, Android Market actualmente no admite este atributo para el filtrado (de la guía oficial).

tamiz de soporte

uso grande y que lo normal y ahora tiene dos opciones:

  • excluyen los grandes dispositivos de pantalla que no son las tabletas de forma manual desde el mercado (500) ...

  • Puede mida programáticamente el ancho y si el ancho < 600 dice el usuario que la aplicación no es compatible.

Mientras que tendremos que esperar a que el mercado para filtrar por android: requiresSmallestWidthDp = "600" ...

+0

* ¡Tenga cuidado * con este enfoque a partir de ahora! Una tableta de 7 "con resolución Full HD (1920x1080) tiene alrededor de 315 ppi, por lo que es un dispositivo XHDPI/320. 1080/(320/160) equivale a 540 dp y lo excluye del límite sw600dp. A partir de ahora, 7" @ 1080p las tabletas probablemente sean comunes (el rumor de Nexus 7 FullHD suena como una campana), por lo que sería embarazoso decirle a dicho usuario que su tableta no es una tableta. – davidcesarino

Cuestiones relacionadas