Я потратил неделю на поиск решения, но безуспешно, поэтому мне нужна помощь.
Когда мое приложение переходит в фоновый режим, появляется уведомление и отображается статус активности.
Отлично работает, если приложение запускается из панели запуска (с action = android.intent.action.MAIN
и category = android.intent.category.LAUNCHER
).
Но если приложение запущено, например из галереи, используя действие android.intent.action.SEND
или android.intent.action.SEND_MULTIPLE
и категорию android.intent.category.DEFAULT
, уведомление начинает новое действие вместо возобновления существующего.
Код для уведомления:
String ns = Context.NOTIFICATION_SERVICE;
NotificationManager notificationManager = (NotificationManager) getSystemService(ns);
int icon = R.drawable.icon;
Notification notification = new Notification(icon, null, 0);
notification.flags |= Notification.FLAG_ONGOING_EVENT|Notification.FLAG_AUTO_CANCEL|Notification.FLAG_ONLY_ALERT_ONCE;
Context context = this.getApplicationContext();
CharSequence contentTitle = "XXX";
CharSequence contentText = "XXX";
Intent notificationIntent = new Intent(context, MyClass.class);
notificationIntent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
PendingIntent activityIntent = PendingIntent.getActivity(context, 0, notificationIntent, 0);
notification.setLatestEventInfo(context, contentTitle, contentText, activityIntent);
notificationManager.notify(NOTIFICATION_ID, notification);
Другими словами, у меня есть приложение «Мое приложение» с активностью «Моя активность». Если «Моя активность» запускается в верхней части галереи и создает уведомление, то после нажатия на уведомление запускается «Моя заявка» вместо возобновления галереи с «Моей деятельностью».
Ты хоть представляешь, как его лечить?