Android no recibe Intent ACTION_PACKAGE_REMOVED en el paquete eliminado

Cuando se elimine mi aplicación de Android, me gustaría eliminar también los archivos que la aplicación ha creado en la tarjeta SD, ya que pueden consumir muchos megabytes y solo son útiles para mi aplicación.

Parece que recibir la intención de PAQUETE ELIMINADO sería el lugar para hacer esto. Sin embargo, nunca se llama a mi receptor de transmisión; parece que se eliminó antes de que se envíe la intención PACKAGE REMOVED

El código es:

UninstallReceiver de clase pública extiende BroadcastReceiver {@Override public void onReceive (Contexto de contexto, Intención de intención) {String action = intent.getAction (); Log.i ("U", "ACCIÓN" + acción); etc.}}

y, en el manifiesto:

 

  
   
         
     
   
  

preguntado el 05 de septiembre de 10 a las 19:09

2 Respuestas

Los programas documentación dice:

El paquete que se está eliminando no recibe esta intención.

Android 2.2 agregado getExternalFilesDir(), que apuntará a un lugar en el almacenamiento externo que Android limpiará automáticamente cuando se desinstale la aplicación. Sin embargo, eso es solo para Android 2.2, y hay indicios de que no funciona particularmente bien en este momento. Sin embargo, es algo a tener en cuenta para 2011.

Más allá de eso, todo lo que realmente puede hacer es ofrecer una opción de menú en algún lugar para que el usuario realice la limpieza, y esperar que los usuarios la usen antes de desinstalarlo.

Respondido 04 Feb 16, 18:02

Debe agregar el permiso en el manifiesto.

<uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED" />

Respondido el 27 de Septiembre de 12 a las 13:09

Este permiso solo se otorga a las aplicaciones del sistema. Entonces no puedo usarlo en mi aplicación. - Borys

Esta respuesta es tan incorrecta. Este permiso es necesario para enviar la intención de transmisión PACKAGE_REMOVED. Incluso si el sistema le otorgara este permiso (que no lo hará), todavía no ayudaría. Esta respuesta debería eliminarse. - David Wasser

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.