小工具知识网

当前位置: 首页 > 行业知识 > Android 通知--判断通知是否有跳转

行业知识

Android 通知--判断通知是否有跳转

2026-10-28 14:45:43 来源:互联网转载

一. 从应用层来分析       

��      在 Android 中,可以通过 PendingIntent 来实现有跳转的通知和没有跳转的通知的区别。具体来说,有跳转的通知会设置一个 PendingIntent,当用户点击通知时会触发该 PendingIntent,打开指定的界面或执行特定的操作;而没有跳转的通知则不设置 PendingIntent,用户点击通知时不会有任何操作。

()
//1.创建一个有跳转的通知//创建一个 Intent,用于处理用户点击通知时的操作Intent intent = new Intent(context, MainActivity.class);PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);// 创建一个有跳转的通知,通过setContentIntent()设置跳转NotificationCompat.Builder builderWithIntent = new NotificationCompat.Builder(context, "channel_id")        .setSmallIcon(R.drawable.notification_icon)        .setContentTitle("有跳转的通知")        .setContentText("点击将跳转到主界面")        .setContentIntent(pendingIntent);// 发送有跳转的通知int notificationIdWithIntent = 1;NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);notificationManager.notify(notificationIdWithIntent, builderWithIntent.build());//2.创建一个没有跳转的通知// 创建一个没有跳转的通知,不设置setContentIntent()NotificationCompat.Builder builderWithoutIntent = new NotificationCompat.Builder(context, "channel_id")        .setSmallIcon(R.drawable.notification_icon)        .setContentTitle("没有跳转的通知")        .setContentText("这是一个普通通知");// 发送没有跳转的通知int notificationIdWithoutIntent = 2;notificationManager.notify(notificationIdWithoutIntent, builderWithoutIntent.build());

        在上面的代码中,首先创建了一个有跳转的通知,并设置了一个 PendingIntent,用于处理用户点击通知时的操作。然后创建了一个没有跳转的通知,没有设置任何 PendingIntent。最后使用 NotificationManager 分别发送这两个通知。

       通过这种方式,用户点击有跳转的通知时会打开指定的界面(比如 MainActivity),而点击没有跳转的通知时则不会有任何操作。

()

二 .  从系统层来分析

        通过监听系统通知,可以得到系统通知接口返回的通知参数 StatusBarNotification sbn, 代码如下:

 Notification notification = sbn.getNotification(); //获得一个Notification对象  if (notification.contentIntent != null) {            //有跳转通知,通知设置了PendingIntent                   }else {          //无跳转通知        }

      通过判断通知中的contentIntent 是否为空来区分通知是否设置了跳转,contentIntent 类型为PendingIntent . 通知监听,可以参考监听系统收到的通知

上一篇:揭秘葡萄汁制作秘诀,轻松享受美味果汁!

下一篇:45英语怎么写单词?