这里介绍如何点击通知后,跳转到指定activity,包含多个activity。
app结构:有3个activity,执行顺序是a->b->c,a是主界面。
需求:点击通知,直接打开activity c,按返回键打开b。
这里的主activity一定要用FLAG_ACTIVITY_NEW_TASK ,不然会打开多次。当然根据不同的需求,设置不同。其它activity的启动模式选择singleTask,这里我们的c只能出现一个,所以这样设置。
mNotificationManager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
Intent intentMain = new Intent(context, MainActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_RESET_TASK_IF_NEEDED);
Intent intent1 = new Intent(context, BActivity.class);
Intent intent2 = new Intent(context, CActivity.class);
Intent[] intents = {intentMain, intent1, intent2};
PendingIntent pendingIntent = PendingIntent.getActivities(context, 0, intents, PendingIntent.FLAG_CANCEL_CURRENT);
mNotificationBuilder = new Notification.Builder(context)
.setContentTitle("标题")
.setContentText("内容")
.setSmallIcon(R.drawable.logo)
.setContentIntent(pendingIntent);
//发通知
mNotificationManager.notify(NOTIFICATION_ID, mNotificationBuilder.build());