我有一个有活动的应用程序,比如说A.我向通知栏发出了一个启动A的通知。也就是说,当用户选择通知时,将启动一个活动。但是当用户按下后退按钮时,系统将转到主屏幕,而不是之前的活动(可能是另一个应用程序)。我怎样才能让系统完成A活动并返回上一个活动而不是主屏幕?
我创建通知的代码:
Notification.Builder mBuilder = new Notification.Builder(this).setSmallIcon(R.drawable.icon).setContentText("title");
Intent resultIntent = new Intent(this, ResultActivity.class);
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
PendingIntent pi = PendingIntent.getActivity(this, 0, resultIntent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(pi);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
mNotificationManager.notify(0, mBuilder.build());
答案 0 :(得分:1)
我似乎找到了答案,添加以下两行:
resultIntent.setAction(Intent.ACTION_MAIN);
resultIntent.addCategory(Intent.CATEGORY_LAUNCHER);
并删除此行:
resultIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
但实际上我并不明白为什么。 有人会解释它或给出更好的答案吗?