¿Cómo puedo pasar correctamente los extras exclusivos a una intención pendiente?
Tengo un problema con alarmManager
y la intención pendiente con extras que irán junto con él.
Si configuro múltiples alarmas, se apagarán, sin embargo los extras permanecen igual.
- Cómo quitar la notificación de la barra de notificación mediante programación en android?
- Android: ¿Cómo puedo acceder a un AsyncTask desde un PendingIntent creado por una notificación de barra de estado?
- Intento pendiente de obtener servicio
- Mostrar diálogo utilizando PendingIntent
- Transmisión de datos del widget a la aplicación
Ya he leído estas preguntas:
- Problema pendiente de notificación de Android android
- Android mantiene caché mis intenciones Extras, ¿cómo declarar una intención pendiente que mantiene extras frescos?
Y he intentado:
- Asignar un identificador único a cada intención pendiente y
- Utilizando todos los indicadores de intención pendientes,
todo fue en vano. No tengo ni idea de por qué no funcionará.
He aquí 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);
- Intención con el extra antiguo en onCreate () para singleTask Actividad
- No puedo obtener los extras de mi intención?
- Notificación RemoteView en el oyente de clics
- No se puede establecer la alarma de repetición en el tiempo de arranque
- Cómo hacer referencia a una vista en una notificación personalizada
- Adición de diálogo de progreso de android dentro del servicio de fondo con AsyncTask, Obtención de excepción FATAL
- Android: PendingIntent de la notificación no activa el onCreate () si se vuelve a activar la actividad en la pantalla
- AppWidget PendingIntent no funciona después de reiniciar el Lanzador
Posiblemente dos cuestiones diferentes aquí:
1) Si ya ha creado su PendingIntent antes y "coincide" con un PendingIntent existente, debe especificar el indicador PendingIntent.FLAG_UPDATE_CURRENT o no pasará los extras. Una "coincidencia" se basa en los criterios que utiliza Intent.filterEquals (), así que lea definitivamente los documentos allí y asegúrese de entender los datos, acción, tipo, etc.
2) He leído que si NO estableces una acción sobre tu intención, entonces no propagará los extras, así que quizás intente intent.setAction ("com.blah.Action").
Me he encontrado con un problema similar. El uso de PendingIntent.FLAG_ONE_SHOT puede solucionar el problema, ya que significa que PendingActivity no se reutilizará.
Esto podría deberse a Actividad :: getIntent devolviendo la intención original de la Actividad dada ciertas banderas / filtros de intenciones.
Si ese es el caso para usted, necesitará consultar Activity :: onNewIntent . Substituya ese método, y la intención pasada a esa función debe ser la nueva intención con extras apropiados, etc.
El crédito va a esta pregunta de SO que me ayudó a resolver mi problema: ¿Por qué es Intent.getAction () nula de mi actividad de búsqueda?
- Problemas con MediaPlayer, recursos crudos, detener e iniciar
- EditText setError () sin mensaje solo el icono