Error de Android No puedo usar FLAG_RECEIVER_BOOT_UPGRADE aquí

Estoy tratando de iniciar AppB de AppA. Sobre la actividad de AppB I:

Intent i = new Intent(); i.setAction("START_APPB"); i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); context.sendBroadcast(i) 

Dentro de AppB Tengo un receptor de difusión que está escuchando START_APPB filtro de intenciones.

como sigue:

  Intent i = new Intent(); i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); i.setAction("SHOW_APPBPAGE"); context.startActivity(i); 

Tenga en cuenta en cada caso el contexto es el contexto de las actividades de la aplicación respectiva.

Esto provoca un error de error en el gestor de actividades:

 IllegalArgumentException: Can't use FLAG_RECEIVER_BOOT_UPGRADE here 

Nunca he visto este error antes. Cuando he enviado el mismo mensaje de la primera actividad de la aplicación que se ejecuta sin error, pero de alguna manera no en la tercera página, utilizando el contexto de la tercera página.

No utilice ninguna constante sendBroadcast() con sendBroadcast() .

Al poblar su Intención, haga:

 intent.setFlags(0); 

Me encontré con esto y descubrí que esto es un error en android. En algún momento de la historia, estas dos banderas – FLAG_ACTIVITY_NEW_TASK y FLAG_RECEIVER_BOOT_UPGRADE – obtienen el mismo valor numérico porque algunos desarrolladores de android cambiaron uno de sus valores sin comprobar que ya lo ha tomado otro indicador. La versión más reciente (4.4) parece haberlo arreglado ya.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.