Android:如何从通知中恢复应用程序?

时间:2010-10-28 22:35:58

标签: android

我正在尝试将我的通知编程为RESUME我的应用程序,而不是简单地启动我的应用程序的新实例...我基本上是在寻找它来执行与Home按钮长按时相同的事情应用程序从那里恢复。

以下是我目前正在做的事情:

void notifyme(String string){

    String ns = Context.NOTIFICATION_SERVICE;
    NotificationManager mNotificationManager = (NotificationManager)
                                                getSystemService(ns);

    int icon = R.drawable.notification_icon;        // icon from resources
    CharSequence tickerText = string + " Program Running...";     // ticker-text
    long when = System.currentTimeMillis();         // notification time
    Context context = getApplicationContext();      // application Context
    CharSequence contentTitle = *********;  // expanded message title
    CharSequence contentText = string + " Program Running...";//expanded msg text

    Intent notificationIntent = new Intent(this, Main.class);
    PendingIntent contentIntent = PendingIntent.getActivity(
                                                this, 0, notificationIntent, 0);

    // the next two lines initialize the Notification, using the configurations
    // above
    Notification notification = new Notification(icon, tickerText, when);
    notification.setLatestEventInfo(context, contentTitle, contentText,
                                                                contentIntent);
    final int HELLO_ID = 1;
    mNotificationManager.notify(HELLO_ID, notification);
}

我猜测新的Intent系列是问题所在......任何帮助都会受到赞赏!

2 个答案:

答案 0 :(得分:12)

你需要设置你的标志

 notification.flags = Notification.FLAG_ONGOING_EVENT | Notification.FLAG_NO_CLEAR;   
 notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);

此外,如果您从未希望有重复活动,请在清单

中为其指定此属性
android:launchMode="singleTask"

答案 1 :(得分:0)

选择的答案对我不起作用,但是如果其他人对此查看,则对我有用:Resume application and stack from notification