Щелчок по push-уведомлению с помощью TaskStackBuilder

Я устанавливаю действие Receiver в качестве намерения содержимого для уведомления.

Intent clickIntent = new Intent(context, Receiver.class);
            mBuilder.setContentIntent(PendingIntent.getActivity(context, 0, clickIntent, PendingIntent.FLAG_UPDATE_CURRENT));

Внутри действия приемника я запускаю действия, которые предназначены для открытия с помощью TaskStackBuilder, следующим образом.

Intent intent = new Intent(this, Class.forName(className));
        intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
       TaskStackBuilder.create(this).addParentStack(Class.forName(className)).addNextIntent(intent).startActivities();

Когда приложение находится в фоновом режиме и происходит щелчок уведомления, оно возобновляет ParentActivity. Особенно, когда устройство переходит в режим ожидания и возвращается. Любая помощь? Я ломаю голову над этим.


person madhu    schedule 20.07.2016    source источник


Ответы (1)


Для приложения Android необходимо также объявить android:launchMode в файле androidManifest.xml.

Как указано в документации по Android:

Инструкция по запуску активности. Существует четыре режима, которые работают в сочетании с флагами действий (константы FLAG_ACTIVITY_*) в объектах Intent, чтобы определить, что должно произойти, когда действие вызывается для обработки намерения.

Они есть:

  • "стандарт"
  • "синглтоп"
  • "одиночная задача"
  • "один экземпляр"

Режим по умолчанию "стандартный".

Решение, приведенное в этом сообщении SO, также может помочь .

person Teyam    schedule 21.07.2016