Как восстановить предыдущую активность, нажав на уведомление - PullRequest
2 голосов
/ 07 августа 2010

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

contentIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | INTENT.FLAG_ACTIVITY_SINGLE_TOP);

Где я могу поместить это в мой код?Я пытался, но это не сработало.Пожалуйста, помогите!

        ns = Context.NOTIFICATION_SERVICE;
        mNotificationManager = (NotificationManager) getSystemService(ns);
        icon = R.drawable.icon;
        tickerText = "Short Msg";
        when = System.currentTimeMillis();
        notification = new Notification(icon, tickerText, when);
        context = getApplicationContext();
        contentTitle = "MyApp";
        contentText = "Reopen App";
        notification.defaults |= Notification.DEFAULT_SOUND;
        notification.defaults |= Notification.DEFAULT_VIBRATE;
        notificationIntent = new Intent(this, StartTimer.class);
        contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
        notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);

Ответы [ 2 ]

3 голосов
/ 07 августа 2010

Разобрался, установите Activity в SingleTop или SingleInstance в Android Manifest, затем вместо создания нового действия просто откройте еще активный.

1 голос
/ 22 марта 2013

Обратите внимание, что ответ, помеченный как правильный, не является полностью корректным, так как "singleTop" все еще может создать несколько экземпляров вашей активности при определенных условиях.

Режимы запуска, которые действительно гарантированы для создания УНИКАЛЬНОГО экземпляра вашей активности при любых условиях: "singleTask" и "singleInstance" .

Эти два параметра создают одну-единственную задачу для вашей деятельности, являющуюся корнем задачи, с той разницей, что "singleInstance" не разрешает другие действия поверх вашей, в то время как "singleTask" делает.

Источник: http://developer.android.com/guide/topics/manifest/activity-element.html#lmode

...