Бар Android уведомления открыть последнюю активную активность?

StackOverflow https://stackoverflow.com/questions/4089213

Вопрос

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

Когда я начинаю таймер, я установил значок бара уведомлений, и если я использую некоторое другое приложение (означающее переход от работы таймера), и теперь мне нужно вернуться к моей ранее начальной активности таймера, нажав на значок уведомления ???

Когда я нажимаю, я начинаю новую активность таймера экземпляра, а не ранее начал активность таймера! , и если я, затем нажал кнопку назад, она покажет мне ранее таймера активность.

Вопрос: Как позвонить ранее начаться активность вручителя уведомления, чтобы не начать новый экземпляр этой деятельности ??

Это образец моего кода ниже:

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);

}
Это было полезно?

Решение

Я нашел ответ, это о флагах:Android: Новое намерение () начинает новый экземпляр с Android: LaunchMode = "Singletop"

Intent intent= new Intent(context, YourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);

Другие советы

Я не уверен, что понимаю, что вы имеете в виду.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top