0

我陷入了一个问题。假设现在有一个活动 A,用户按下 Home 键,并将 A 放入后台。现在,在后台停留一段时间后,它会生成一个通知。单击该通知后,它将带回与后台完全相同的活动。就像,在按下 home 键后,如果用户通过单击图标或从最近启动的历史记录再次启动应用程序,那么 android 会以之前的状态重新打开最后一个活动。在这里,我不想检测哪个是最后一个活动。我的活动是固定的,我只想在点击通知时将其恢复到以前的状态?那可能吗 ?怎么做 ?这是我的通知代码,

    private void generateNotification(Context context, String message, String data) {   
    NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
    Notification notification = new Notification(R.drawable.notification, message,  System.currentTimeMillis());

    Intent notificationIntent = new Intent(context, MenuActivity.class);        
    //notificationIntent.setFlags(Notification.FLAG_ONGOING_EVENT | Notification.FLAG_NO_CLEAR);
    notificationIntent.setFlags(Intent.FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY);

    Bundle bundle = new Bundle();
    bundle.putString("data",data);
    notificationIntent.putExtras(bundle);

    //Constants.NOTIFICATION_ID++;
    notification.setLatestEventInfo(context, context.getString(R.string.app_name), message, PendingIntent.getActivity(context, 0, notificationIntent, Notification.FLAG_ONGOING_EVENT | Notification.FLAG_NO_CLEAR));
    notification.flags |= Notification.FLAG_AUTO_CANCEL;
    notificationManager.notify(Constants.NOTIFICATION_ID, notification);            
}
4

1 回答 1

0

使用Intent.FLAG_ACTIVITY_CLEAR_TOP而不是FLAG_ACTIVITY_LAUNCHED_FROM_HISTORY.

于 2013-08-17T14:12:54.003 回答