Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android notification bar open last active activity?

I am creating like timer application and when I start timer I have option to go to android Home or start any other activity .

When I start timer I set a notification bar icon and if i use some other application (mean go from started timer activity) and now I need to go to back to my previously started timer activity by clicking on notification icon ???

When I click I am starting a new instance timer activity , not the previously started timer activity ! , and if I then click back button it show me a previously timer activity ..

Question is: How to call previously started activity trough notification bar , not to start new instance of that activity ??

This is sample of my code below :

private void notificationBar()
{
    String ns = Context.NOTIFICATION_SERVICE;
    NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
    int icon = R.drawable.ico;
    CharSequence tickerText = "some title...";
    long when = System.currentTimeMillis();

    Notification notification = new Notification(icon, tickerText, when);
    Context context = getApplicationContext();
    CharSequence contentTitle = "some app title";
    CharSequence contentText = "...some info !";
    Intent notificationIntent = new Intent(this, main.class);
    PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent,  PendingIntent.FLAG_UPDATE_CURRENT | Notification.FLAG_AUTO_CANCEL);

    notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);


    mNotificationManager.notify(NOTIF_ID, notification);

}    
private void notificationClose(int notifID)
{
    String ns = Context.NOTIFICATION_SERVICE;
    NotificationManager mNotificationManager = (NotificationManager) getSystemService(ns);
    mNotificationManager.cancel(notifID);

}
like image 580
Nezir Avatar asked Nov 03 '10 16:11

Nezir


People also ask

Which API do you use to show a notification in the notification drawer and in the device's status bar?

Android 8.0, API level 26 Apps with active notifications display a notification "badge" on top of their app icon on the home/launcher screen. Users can now snooze a notification from the drawer.


2 Answers

I found an answer it's about flags : Android: new Intent() starts new instance with android:launchMode="singleTop"

Intent intent= new Intent(context, YourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
like image 151
Nezir Avatar answered Nov 09 '22 17:11

Nezir


I'm not certain I understand what you mean.

I suppose you could add an extra in the intent to specify which notification exactly was used to invoke your app. Does this help at all?

like image 38
Emmanuel Avatar answered Nov 09 '22 17:11

Emmanuel