En este post vamos a aprender cómo permitir que nuestra aplicación sea movida a la SD Card por un usuario a través del Administrador de Aplicaciones nativo del móvil/tableta.
Objetivos:
Permitir que un usuario de nuestra aplicación que pueda moverla a la SD Card.
Requisitos necesarios:
- Nuestra aplicación debe tener un build target mínimo de 8 (versión 2.2), ya que antes no está especificada la instrucción que añadiremos, y encontraremos el error:
No resource identifier found for attribute ‘installLocation’ in package ‘android’ - Hay que tener en cuenta que los usuarios con una versión de Android anterior a la 2.2 no pueden mover las aplicaciones a la SD C ard a través de la configuración nativa del móvil (podrán si la aplicación tiene dicha opción o si descargan una aplicación que lo realice).
Pasos:
- Cambiar el build target a una versión 8, como mínimo:
En Eclipse -> Boton derecho sobre el proyecto -> Propierties -> Android -> Seleccionamos el build target de 8 o más alto. - Indicar a la aplicación que el usuario podrá elegir moverla a la SD Card:Para ello editamos el fichero AndroidManifest.xml, añadiendo android:installLocation=”auto” dentro la etiqueta <manifest>.
Ejemplo:
<manifest xmlns:android=”http://schemas.android.com/apk/res/android package=”com.ejemplo.holaMundo:versionCode=”3″ android:versionName=”1.2″ android:installLocation=”auto”> - Para probarlo, una vez instalada la aplicación (en nuestro móvil físico), podemos ir a Menú -> Ajustes -> Aplicaciones -> Administrar Aplicaciones -> Hacemos clic sobre nuestra aplicación -> Vemos que la opción Mover to SD Card está ya activada.
Se recuerda que esta opción está en las versiones 2.2 de Android en adelante.
Nota: si lo deseamos, podríamos obligar a que instale desde primera hora la aplicación en la SD Card o en la memoria del teléfono, podemos poner el valor de android:installLocation=”preferExternal” o android:installLocation=”internalOnly”, respectivamente.