如何通过单击通知来恢复以前的活动

时间:2010-08-07 01:22:07

标签: android android-activity notifications restore android-notification-bar

当我的通知消失时,我想恢复放入后台的活动,而不是开始新的活动。我已经看到了一些关于使用FLAGS的答案,但我不知道如何实现它

contentIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | INTENT.FLAG_ACTIVITY_SINGLE_TOP);

我在哪里把它放在我的代码中?我试过但它没用。请帮忙!

        ns = Context.NOTIFICATION_SERVICE;
        mNotificationManager = (NotificationManager) getSystemService(ns);
        icon = R.drawable.icon;
        tickerText = "Short Msg";
        when = System.currentTimeMillis();
        notification = new Notification(icon, tickerText, when);
        context = getApplicationContext();
        contentTitle = "MyApp";
        contentText = "Reopen App";
        notification.defaults |= Notification.DEFAULT_SOUND;
        notification.defaults |= Notification.DEFAULT_VIBRATE;
        notificationIntent = new Intent(this, StartTimer.class);
        contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, 0);
        notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);

2 个答案:

答案 0 :(得分:3)

想出来,在Android Manifest中将Activity设置为SingleTop或SingleInstance,然后重新打开仍然有效的活动,而不是创建新活动。

答案 1 :(得分:1)

请注意,标记为正确的答案并不完全正确,因为“singleTop”在某些条件下仍可能会创建多个您的活动实例。

在任何条件下真正保证创建活动的唯一实例的启动模式是“singleTask”“singleInstance”

这两个选项为您的活动创建了一个唯一的任务,即任务的根,区别在于“singleInstance”不允许在您的活动之上进行其他活动,而“singleTask”则不然。

来源: http://developer.android.com/guide/topics/manifest/activity-element.html#lmode