PendingIntent для службы уведомлений переднего плана android

У меня есть активность в моем приложении. Когда я выбираю один вариант, запускаю передний план моей службы с таким уведомлением:

PendingIntent pi = PendingIntent.getActivity(getApplicationContext(), 0,
            new Intent(getApplicationContext(), Radio.class),
            PendingIntent.FLAG_UPDATE_CURRENT);

    Notification  notification = new Notification();
    notification.tickerText = "Connecting RadiO!.. Wait..";
    notification.icon = R.drawable.ic_launcher;
    notification.flags |= Notification.FLAG_ONGOING_EVENT;
    notification.setLatestEventInfo(getApplicationContext(), "radiO!",
            "Playing: " + songName, pi);
    startForeground(1, notification);

Затем, все еще выполняя свою активность, я нажимаю на свое уведомление и открываю его, не закрывая предыдущую активность. Я не должен заниматься одной и той же деятельностью дважды.


person user3088957    schedule 10.12.2013    source источник
comment
developer.android.com/guide/topics/ui/notifiers/   -  person CommonsWare    schedule 11.12.2013


Ответы (1)


Что вы делаете, так это создаете новый экземпляр действия, которое вы пытаетесь выполнить каждый раз, когда вы нажимаете на уведомление, чтобы избежать его и повторно использовать уже существующее действие (если оно есть), просто установите действие как singleTask в AndroidManifest .xml, как показано ниже:

    <activity
       android:name=".YourActivity"
       android:launchMode="singleTask"/>

Надеюсь это поможет.

С уважением!

person Martin Cazares    schedule 10.12.2013
comment
Когда я нажимаю уведомление, запускаю новое действие и закрываю уведомление - person user3088957; 11.12.2013
comment
Работай!! спасибо, и для моего приложения это тоже нужно: android:alwaysRetainTaskState=true - person user3088957; 11.12.2013