代码之家  ›  专栏  ›  技术社区  ›  Cameron

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

  •  2
  • Cameron  · 技术社区  · 15 年前

    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 回复  |  直到 13 年前
        1
  •  3
  •   Cameron    15 年前

    在Android清单中将Activity设置为SingleTop或SingleInstance,然后它不再创建新的Activity,而是重新打开一个仍然活动的Activity。

        2
  •  1
  •   PFROLIM    12 年前

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

    “单任务”

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

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