Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Prevent notification PendingIntent starts Activity already started?

Tags:

android

The service creates a persistent Notification and starts the main activity on click via PendingIntent. Here is the code.

Intent notificationIntent = new Intent(getApplicationContext(), ViewPagerActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(StreamingService.this, 0, notificationIntent, 0);

However, if the main activity is started when I press notification, it will be started again, and again and...

In the end, I have the same activity pilled up, one on the top of another. I can see this by pressing the back button, which will kill the Main activity once and then get me back to the same activity until I close the last one.

How can I prevent this to happen? Can PendingIntent detect that aiming activity is running so it does not create the same activity again, but rather start the running one?

PS. I apologize if not being able to explain this well. If this is the case, let me know and I will rephrase the problem.

like image 906
sandalone Avatar asked Dec 18 '12 13:12

sandalone


1 Answers

I also found this solution. Add this attribute to Manifest

           <activity android:name=".MyActivity"
              android:label="@string/app_name"
              android:launchMode="singleTop"      // <-- THIS LINE
            >

for each Activity you need this feature. So far it work with no errors at all.

Which solution is better? Mine is easier, if nothing.

like image 174
sandalone Avatar answered Oct 13 '22 14:10

sandalone