pendingintentflags pendingintent pending open notification intent from event activity android android-intent alarmmanager android-pendingintent extras

android - pendingintent - ¿Cómo puedo pasar correctamente extras exclusivos a un intento pendiente?



pendingintent notification (3)

Esto podría deberse a que Activity :: getIntent devuelve la intención original de la actividad dados determinados indicadores / indicadores de intención.

Si ese es tu caso, deberás consultar Activity::onNewIntent . Anule ese método, y el intento pasado a esa función debe ser el nuevo intento con extras adecuados, etc.

El crédito va a esta pregunta SO que me ayudó a resolver mi problema: ¿Por qué la actividad de búsqueda de Intent.getAction () es nula?

Tengo un problema con alarmManager y la intención pendiente con extras que irán bien.

Si configuro varias alarmas, se apagarán, sin embargo, los extras permanecen iguales.

Ya leí estas preguntas:

y lo he intentado:

  • asignando una ID única a cada intento pendiente y
  • usando todas las banderas de intención pendientes,

todo fue en vano. No tengo idea de por qué no funcionará.

Aquí hay un fragmento de código:

Intent intent = new Intent(con, AppointmentNotificationReciever.class); intent.putExtra("foo", bar.toString()); int id = randomNum; PendingIntent sender = PendingIntent.getBroadcast(con, id, intent, PendingIntent.FLAG_UPDATE_CURRENT); AlarmManager am = (AlarmManager) con.getSystemService(Context.ALARM_SERVICE); am.set(AlarmManager.RTC_WAKEUP, scheduleExecution, sender);


Me encontré con un problema similar. El uso de PendingIntent.FLAG_ONE_SHOT puede resolver el problema, ya que significa que PendingActivity no se volverá a utilizar.


Posiblemente dos problemas diferentes aquí:

1) Si ya ha creado su PendingIntent antes y "coincide" con un PendingIntent existente, entonces debe especificar el indicador PendingIntent.FLAG_UPDATE_CURRENT o no pasará los extras. Una "coincidencia" se basa en los criterios que usa Intent.filterEquals (), así que definitivamente lea los documentos allí y asegúrese de comprender los datos, las acciones, el tipo, etc.

2) He leído que si NO establece una acción en su intento, entonces no propagará los extras, así que quizás intente intent.setAction ("com.blah.Action").