Как мне создать ожидающее намерения каждый раз? В настоящее время мои существующие ожидающие намерения заменяются новым. Я попытался использовать FLAG_ONE_SHOT
, а также CANCEL_CURRENT
, но это не сработало.
Создавайте новый ожидающий намек каждый раз в Android
Ответ 1
добавьте случайное число в код запроса следующим образом:
Intent intent = new Intent(context, YourClassname.class);
intent.putExtra("some data", "txt"); // for extra data if needed..
Random generator = new Random();
PendingIntent i=PendingIntent.getActivity(context, generator.nextInt(), intent,PendingIntent.FLAG_UPDATE_CURRENT);
Ответ 2
FLAG_CANCEL_CURRENT- если описанный PendingIntent уже существует, текущий отключается до создания нового.
FLAG_NO_CREATE - если описанный PendingIntent еще не существует, просто верните null вместо его создания.
FLAG_ONE_SHOT - этот PendingIntent можно использовать только один раз.
FLAG_UPDATE_CURRENT- если описанный PendingIntent уже существует, сохраните его, но замените его дополнительные данные тем, что находится в этом новом намерении.
Если вам действительно нужно одновременно несколько разных объектов PendingIntent (например, чтобы использовать в качестве двух уведомлений, показанных одновременно), вам нужно будет убедиться, что есть что-то, что отличается от них, чтобы связать их с различными PendingIntents. Это может быть любой из атрибутов Intent, рассмотренных
Intent.filterEquals
, или различных целых кодов запроса, предоставленныхgetActivity(Context, int, Intent, int), getActivities(Context, int, Intent[], int), getBroadcast(Context, int, Intent, int), or getService(Context, int, Intent, int).