自定义notification点击跳到web或者指定页面,回退到main页面

重要的就是添加回退栈

TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
    // 添加返回栈
        stackBuilder.addParentStack(WebCommonActivity.class);
    // 添加Intent到栈顶
        stackBuilder.addNextIntent(intent);
  • 例子
private void createNotifiction(String title, String content, String url) {
        //1. main -> 2.web
        Intent intent = new Intent(this, WebCommonActivity.class);
        intent.putExtra("url", url);
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
    // 添加返回栈
        stackBuilder.addParentStack(WebCommonActivity.class);
    // 添加Intent到栈顶
        stackBuilder.addNextIntent(intent);
    // 创建包含返回栈的pendingIntent
        PendingIntent mPendingIntent =
                stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);

        NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

        NotificationCompat.Builder builder = new NotificationCompat.Builder(this);
        builder.setContentTitle(title);
        builder.setContentText(content);
        builder.setSmallIcon(R.drawable.push);
        builder.setOngoing(true);
        builder.setAutoCancel(true);

        //设置通知的动作
        builder.setContentIntent(mPendingIntent)
                //设置通知时间,默认为系统发出通知的时间
                .setWhen(System.currentTimeMillis());
        notificationManager.notify(2, builder.build());

    }

猜你喜欢

转载自blog.csdn.net/stimgo/article/details/81219985