在使用分屏功能时,当用户通过点击通知来启动activity
时,我希望能够在当前活动窗口中启动activity
,但是Android N总是在第二个窗口中启动activity
。
NotificationCompat.Builder mBuilder =
new NotificationCompat.Builder(this)
.setSmallIcon(R.drawable.notification)
.setAutoCancel(false)
.setContentTitle("Demo Title")
.setContentText("Demo");
Intent intent = new Intent(this, MainActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("myIntent", "test");
PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.setContentIntent(pendingIntent);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
Notification notification = mBuilder.build();
notification.flags = Notification.FLAG_NO_CLEAR;
mNotificationManager.notify(156, notification);
当获取到 intent
后,启动 activity
。
Intent in = new Intent(MainActivity.this, SecondActivity.class);
startActivity(in);
例如-我有两个应用程序在前景中,如第一个窗口的Chrome浏览器和第二个窗口的Facebook,现在我正在Chrome浏览器中搜索某些内容,在这一刻,我收到了Gmail
的通知。现在当我点击Gmail通知时,Gmail应用程序会在第二个窗口中打开,替换Facebook,但我希望我的应用程序通知可以替换用户交互的Chrome在第一个窗口中。