studio segundo programacion plano para mantener gratis edición desarrollo app aplicaciones android android-manifest android-screen-support android-screen

segundo - Android: deshabilita la aplicación para tablet



manual de programacion android pdf (4)

Desarrollé una aplicación, ahora quiero restringir la aplicación para tableta.

Significa que la aplicación no debe ejecutarse en ninguna tableta. Para eso especifico las pantallas de soporte en el archivo Androidmenifest.XML como:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.abc.xyz" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="5" android:targetSdkVersion="17" android:maxSdkVersion="17" /> <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="false" android:xlargeScreens="false" android:resizeable="true" android:anyDensity="true" /> <uses-permission android:name="android.permission.SEND_SMS" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.INTERNET"/> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/> <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/> <application android:icon="@drawable/appicon" android:label="@string/app_name" android:theme="@android:style/Theme.Black.NoTitleBar" android:allowBackup="true" > <activity android:name="com.abc.xyz.activities.hello" android:label="@string/title_activity_hello" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>

Ahora el problema es que:

La aplicación se está ejecutando en la tableta

android:largeScreens="false" android:xlargeScreens="false"

Después de declarar arriba también.

Y ahora que debo hacer. Por favor sugiéreme y guíame.


Esto impide el acceso a las tabletas, pero permite los nuevos grupos de densidad ( xxhdpi y xxxhdpi ) y evita errores en proyectos que se compilan contra SDK inferiores. Debe ser un elemento secundario directo del elemento <manifest> en AndroidManifest.xml

<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" /> <screen android:screenSize="small" android:screenDensity="480" /> <screen android:screenSize="small" android:screenDensity="640" /> <!-- 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" /> <screen android:screenSize="normal" android:screenDensity="480" /> <screen android:screenSize="normal" android:screenDensity="560" /> <screen android:screenSize="normal" android:screenDensity="640" /> </compatible-screens>

Actualización 8.8.2016 Agregue esta línea si desea admitir dispositivos similares a Nexus-5x con densidad 420

<screen android:screenSize="normal" android:screenDensity="420" />


Incluye lo siguiente en tu Manifiesto:

<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" /> <screen android:screenSize="small" android:screenDensity="xxhdpi" /> <screen android:screenSize="small" android:screenDensity="xxxhdpi" /> <!-- 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" /> <screen android:screenSize="normal" android:screenDensity="xxhdpi" /> <screen android:screenSize="normal" android:screenDensity="xxxhdpi" /> </compatible-screens> </manifest>

Esto te ayudara.


Si desea restringir la aplicación a los teléfonos solo use la etiqueta <compatible-screens> en el manifiesto. como este

<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>

Para obtener más información, consulte Declarar que una aplicación es solo para teléfonos

No debe utilizar la etiqueta <supports-screens> si desea restringir la aplicación desde tabletas. Está claramente mencionado en el documento oficial.

Precaución : si usa el elemento para el escenario inverso (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, utilice, como se explicó en la sección anterior sobre Declarar que una aplicación es solo para teléfonos.


por favor, verifique si ha hecho el diseño para el diseño grande, el diseño grande y grande. si están presentes, su aplicación se ejecutará en la tableta, elimine esa carpeta de diseño si está presente.