Android no está recibiendo Intent ACTION_PACKAGE_REMOVED en el paquete eliminado

Cuando se elimine mi aplicación para Android, también me gustaría eliminar 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 la recepción de la intención de paquete eliminado sería el lugar para hacer esto. Sin embargo, mi receptor de la difusión nunca se llama – parece haber sido suprimido antes de que la intención del EMBALAJE REMOVIDO sea enviada

El código es:

 Public class UninstallReceiver extiende BroadcastReceiver {
  @Anular
  Public void onReceive (Context context, intención de intención) {
   String action = intent.getAction ();
   Log.i ("U", "ACCIÓN" + acción);
   Etc.
  }
 }

Y, en el manifiesto:

  <Aplicación android: debuggable = "true"
   Android: icon = "@ drawable / icono"
   Android: label = "@ string / app_name">

   <Receptor android: name = "com.boom.UninstallReceiver">
    <Intent-filter>
         <Acción android: name = "android.intent.action.PACKAGE_REMOVED" /> 
      <Datos android: esquema = "paquete" />
    </ Intention-filter>
   </ Receiver>

La documentación dice:

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

Android 2.2 agregó getExternalFilesDir() , que apuntará a un lugar en el almacenamiento externo que Android automáticamente limpiar cuando se desinstala su aplicación. Sin embargo, eso es sólo 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 puedes hacer es ofrecer una opción de menú en algún lugar para que el usuario haga la limpieza, y espero que los usuarios la utilicen antes de desinstalarla.

Debe agregar el permiso en el manifast.

 <uses-permission android:name="android.permission.BROADCAST_PACKAGE_REMOVED" /> 
  • ¿Puede explicar por favor enCreate y Bundles?
  • Utilice Parcelable para pasar un objeto de una actividad de android a otra
  • Choques de nombres de paquetes con clase del mismo error de nombre en android studio
  • Averigua si la aplicación está instalada
  • Android: Analizar el error al analizar el manifiesto. Descontinuación de la instalación
  • RecognizerIntent: cómo agregar un paquete a una intención pendiente
  • Monodroid poniendo objetos parcelables en un paquete
  • Serialización de objetos para una nueva actividad
  • Android: Incluyendo varios paquetes de Java para mostrar
  • ¿Es posible cambiar el nombre del paquete de una aplicación de Android en Google Play?
  • Cambiar los datos del paquete de intenciones antes de volver a crear una actividad después del cambio de orientación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.