2

当我的通知消失时,我想恢复放入后台的活动,而不是开始新的活动。我已经看到了一些关于使用 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);
4

2 回答 2

3

想通了,在 Android Manifest 中将 Activity 设置为 SingleTop 或 SingleInstance,然后不创建新的活动,而是重新打开仍然处于活动状态的活动。

于 2010-08-07T02:36:31.680 回答
1

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

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

这两个选项为您的活动创建一个也是唯一的任务,作为任务的根,不同之处在于“singleInstance”不允许在您的活动之上进行其他活动,而“singleTask”允许。

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

于 2013-03-22T16:35:24.147 回答