Reinicie el servicio para la aplicación en la tarjeta SD cuando se vuelve a cargar la tarjeta SD
Debido a las quejas de usuarios abrumadoras he decidido intentar permitir a los usuarios de mi aplicación de Android moverlo a la tarjeta SD según la documentación oficial . Sin embargo, una característica principal de mi aplicación requiere un servicio de fondo que se ejecute continuamente. Cuando alguien que ha movido mi aplicación a su tarjeta SD monta su tarjeta SD por cualquier razón, mi servicio de fondo será asesinado.
Eso es todo bien por mí, siempre y cuando pueda reiniciar el servicio en la primera oportunidad disponible. Desafortunadamente, a pesar de la guía de ubicación de la instalación, afirmo que puedo usar la Intención de difusión ACTION_EXTERNAL_APPLICATIONS_AVAILABLE
para detectar cuando la tarjeta SD se ACTION_EXTERNAL_APPLICATIONS_AVAILABLE
a montar localmente, la documentación para ese indicador, esta discusión de grupos de noticias y mi propia prueba. Aplicaciones que estén disponibles. Sólo las aplicaciones que no han sido movidas a la tarjeta SD obtienen el Propósito de difusión.
- Guardar imagen en sdcard desde un recurso de drawble en Android
- Cómo exportar datos a un archivo csv en Android?
- Advertencia: File.mkdir () se ignora
- Cómo obtener un tamaño de tarjeta SD de almacenamiento externo (con tarjeta SD montada)?
- Forzando sdcard externa en android con cordova y plugin de archivo
¿Hay alguna forma de reiniciar mi servicio de fondo sin esperar que el usuario abra mi aplicación después de que se vuelve a montar la tarjeta SD?
- Escanear la tarjeta SD de Android para nuevos archivos
- La carpeta creada no está visible en el explorador de archivos.
- Directorio de almacenamiento de Android Open External Storage (sdcard) para almacenar el archivo
- ¿Cuándo debo definir mi aplicación Android como no móvil a la tarjeta SD (installLocation = internalOnly)?
No es fiable. Usted podría enganchar en Intents
difusión del permiso-menos (por ejemplo, ACTION_SCREEN_OFF
) que debe encenderse eventual y conseguir control esa manera. Como indica la Sra. Hackborn, la respuesta correcta es que ACTION_EXTERNAL_APPLICATIONS_AVAILABLE
se solucione. También puede ver si ocurre alguna transmisión relacionada con tarjetas SD después de que se disponga de aplicaciones externas (por ejemplo, ACTION_MEDIA_MOUNTED
), aunque esperaría que todas hayan pasado antes de que la aplicación externa esté disponible.