5

我正在创建类似计时器应用程序,当我启动计时器时,我可以选择转到 android Home 或启动任何其他活动。

当我启动计时器时,我设置了一个通知栏图标,如果我使用其他应用程序(意味着从启动的计时器活动开始),现在我需要通过单击通知图标回到我之前启动的计时器活动???

当我单击时,我正在启动一个新的实例计时器活动,而不是之前启动的计时器活动!,如果我然后单击后退按钮,它会向我显示以前的计时器活动..

问题是:如何通过通知栏调用以前启动的活动,而不是启动该活动的新实例?

这是我下面的代码示例:

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

}
4

2 回答 2

14

我找到了一个关于标志的答案: Android: new Intent() 使用 android:launchMode="singleTop" 启动新实例

Intent intent= new Intent(context, YourActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_SINGLE_TOP);
于 2010-11-04T20:31:48.067 回答
2

我不确定我明白你的意思。

我想您可以在意图中添加一个额外的内容来指定确切用于调用您的应用程序的通知。这有帮助吗?

于 2010-11-03T16:31:43.383 回答