play - Hacer que la aplicación de Android no esté disponible para tabletas
play store (3)
Puede intentar agregar una verificación de algún tipo para el servicio 3g o 4g. Eso excluirá la mayoría, pero probablemente no todas las tabletas.
Estoy publicando mi aplicación en la Play Store y no quiero que esté disponible para tabletas. ¿Cómo puedo hacer que suceda?
No quiero excluir manualmente cada tableta individual dentro de la consola de desarrollador de Android, pero realmente necesito que mi aplicación se ejecute exclusivamente en teléfonos inteligentes.
EDIT: hice lo que sugirió pero aquí está el resultado:
Y para una explicación más detallada: necesito que mi aplicación se ejecute en dispositivos que las personas normales llaman teléfonos inteligentes y no en dispositivos que las personas normales llaman tabletas ... por ejemplo, tiene que ejecutarse en "Galaxy Note 2" pero no en "Galaxy Tab"
SOLUCIONADO Gracias a @CommonsWare:
Tuve que poner las siguientes etiquetas en mi manifiesto:
<uses-sdk android:minSdkVersion="9" android:targetSdkVersion="9"/>
y:
<compatible-screens>
<!-- all small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<!-- all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
<!-- all large size screens -->
<screen android:screenSize="large" android:screenDensity="ldpi" />
<screen android:screenSize="large" android:screenDensity="mdpi" />
<screen android:screenSize="large" android:screenDensity="hdpi" />
<screen android:screenSize="large" android:screenDensity="xhdpi" />
</compatible-screens>
Y haga lo siguiente: Haga clic con el botón derecho en proyecto -> propiedades -> android -> seleccione un objetivo mayor que 8
Usar la etiqueta de pantalla de soporte en el archivo de manifiesto es un método incorrecto . Utilice siempre <compatible-screens>
para que su aplicación no esté disponible para tabletas.
<supports-screens
android:smallScreens="true"
android:normalScreens="true"
android:largeScreens="false"
android:xlargeScreens="false"
android:resizeable="false" />
Precaución
Si usa el elemento para el escenario anterior (cuando su aplicación no es compatible con pantallas más grandes) y establece los atributos de tamaño de pantalla más grandes en "falso", los servicios externos como Google Play no aplican el filtrado. Su aplicación aún estará disponible para pantallas más grandes, pero cuando se ejecute, no se ajustará para ajustarse a la pantalla. En su lugar, el sistema emulará un tamaño de pantalla del teléfono (aproximadamente 320dp x 480dp; consulte el Modo de compatibilidad de pantalla para obtener más información). Si desea evitar que su aplicación se descargue en pantallas más grandes, utilícela según lo sugerido por @CommonsWare .
Use la etiqueta para excluir su aplicación para ejecutar en la tableta.
<compatible-screens>
<!-- all small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<!-- all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
</compatible-screens>
http://developer.android.com/guide/practices/screens-distribution.html#FilteringHansetApps
... puede utilizar el elemento para administrar la distribución de su aplicación en función de combinaciones de tamaño y densidad de pantalla. Los servicios externos, como Google Play, utilizan esta información para aplicar el filtrado a su aplicación, de modo que solo los dispositivos que tienen una configuración de pantalla con la que declare compatibilidad pueden descargar su aplicación.
El elemento de muestra <compatible-screens>
de esa página:
<manifest ... >
<compatible-screens>
<!-- all small size screens -->
<screen android:screenSize="small" android:screenDensity="ldpi" />
<screen android:screenSize="small" android:screenDensity="mdpi" />
<screen android:screenSize="small" android:screenDensity="hdpi" />
<screen android:screenSize="small" android:screenDensity="xhdpi" />
<!-- all normal size screens -->
<screen android:screenSize="normal" android:screenDensity="ldpi" />
<screen android:screenSize="normal" android:screenDensity="mdpi" />
<screen android:screenSize="normal" android:screenDensity="hdpi" />
<screen android:screenSize="normal" android:screenDensity="xhdpi" />
</compatible-screens>
...
<application ... >
...
<application>
</manifest>
Sin embargo, recomendaría también agregar líneas para una densidad de xxhdpi
, ya que dichos dispositivos se están enviando ahora (Droid DNA, Xperia Z, HTC Butterfly, etc.).
ACTUALIZAR
Primero, con respecto a sus errores de compilación, si lee la documentación del elemento <compatible-screens>
, notará que se agregó en el nivel 9 de la API y, por alguna extraña razón, el objetivo de la compilación es mayor.
Segundo, con respecto a:
Necesito que mi aplicación se ejecute en dispositivos que la gente normal llama teléfono inteligente y no en dispositivos que la gente normal llama tabletas ... por ejemplo, tiene que ejecutarse en "Galaxy Note 2" pero no en "Galaxy Tab"
Esto no es posible, simplemente porque no tiene una definición concreta de lo que hace y no quiere que su aplicación se envíe.
Hay ~ 8 mil millones de "personas normales" en el planeta. Le invitamos a entrevistar a cada uno de ellos y preguntarles qué creen que es el Galaxy Note 2. Algunos dirán un teléfono. Algunos dirán una tableta. Algunos dirán un "phablet", que no será útil. Algunos te expulsarán de sus hogares, afirmando que has traído a un demonio que emite luz entre ellos (esto tampoco será útil y puede ser doloroso si tienen piedras a mano para tirar).
Si, en algún momento en el futuro, se le ocurre una definición científica de lo que hace y no quiere enviar su dispositivo, haga una pregunta nueva sobre . Por "definición científica", me refiero a un algoritmo que puede ser aplicado universalmente por todas las personas en todos los dispositivos para determinar qué es lo que quieres y no quieres que haga con tu aplicación.
(tenga en cuenta que, por "todas las personas", estoy excluyendo a aquellos que podrían considerarle un traficante de demonios)
Por ejemplo:
"Quiero enviar todos los dispositivos que tienen capacidad de telefonía, independientemente del tamaño de la pantalla"
"Quiero enviar en todos los dispositivos que tengan un tamaño de pantalla más pequeño que el tamaño más pequeño de lo que hay en su lado más pequeño: