PendingIntent on Notification foreground service 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