Android监听消息通知栏点击事件

使用BroadCastReceiver

1 新建一个NotificationClickReceiver 类,并且在清单文件中注册!!

public class NotificationClickReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

//todo 跳转之前要处理的逻辑

Log.i("TAG", "userClick:我被点击啦!!! ");

Intent newIntent = new Intent(context, Main2Activity.class).addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

context.startActivity(newIntent);

}

}

在清单文件中注册

android:name=".NotificationClickReceiver">

在你需要创建通知栏的地方

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

Notification.Builder builder1 = new Notification.Builder(MainActivity.this);

builder1.setSmallIcon(R.drawable.ic_launcher); //设置图标

builder1.setTicker("显示第二个通知");

builder1.setContentTitle("通知"); //设置标题

builder1.setContentText("点击查看详细内容"); //消息内容

builder1.setWhen(System.currentTimeMillis()); //发送时间

builder1.setDefaults(Notification.DEFAULT_ALL); //设置默认的提示音,振动方式,灯光

builder1.setAutoCancel(true);//打开程序后图标消失

Intent intent =new Intent (MainActivity.this,NotificationClickReceiver.class);

PendingIntent pendingIntent =PendingIntent.getBroadcast(MainActivity.this, 0, intent, 0);

builder1.setContentIntent(pendingIntent);

Notification notification1 = builder1.build();

notificationManager.notify(124, notification1); // 通过通知管理器发送通知

如果需要携带什么参数就在这里的intent包裹即可,NotificationClickReceiver可以接收到发送过来的intent

兼容Android 8及以上

// 版本升级通知框

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

Notification.Builder builder1 = new Notification.Builder(MapActivity.this);

// 通知框兼容 android 8 及以上

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {

NotificationChannel channel = new NotificationChannel("11212313131", "NotificationName", NotificationManager.IMPORTANCE_DEFAULT);

channel.enableLights(true);

channel.setShowBadge(true);

notificationManager.createNotificationChannel(channel);

builder1.setChannelId("123456");

}

builder1.setSmallIcon(R.mipmap.touxiang); //设置图标

builder1.setContentTitle("这是一个通知"); //设置标题

builder1.setContentText("这是消息内容"); //消息内容

builder1.setWhen(System.currentTimeMillis()); //发送时间

builder1.setDefaults(Notification.DEFAULT_ALL); //设置默认的提示音,振动方式,灯光

builder1.setAutoCancel(true);//打开程序后图标消失

Intent intent = new Intent(Activity.this, NotificationClickReceiver.class);

intent.putExtra("url","www.baidu.com");

PendingIntent pendingIntent = PendingIntent.getBroadcast(Activity.this, 0, intent, 0);

builder1.setContentIntent(pendingIntent);

Notification notification1 = builder1.build();

notificationManager.notify(124, notification1); // 通过通知管理器发送通知

public class NotificationClickReceiver extends BroadcastReceiver {

@Override

public void onReceive(Context context, Intent intent) {

String url = intent.getStringExtra("url");

Uri uri = Uri.parse(url);

Intent i = new Intent(Intent.ACTION_VIEW, uri);

context.startActivity(i);

}

}

原文:https://www.cnblogs.com/wjw1014/p/12052589.html

android通知栏的点击事件,Android监听消息通知栏点击事件相关推荐

  1. css 鼠标滚动事件,js监听鼠标的滚轮滚动事件教程

    不同的有不同的滚轮事件.主要是有两种,onmousewheel(firefox不支持)和dommousescroll(只有firefox支持),关于这两个事件这里不做详述,想要了解的朋友请移步:鼠标滚 ...

  2. 鼠标移入事件_NSTrackingArea 监听鼠标移入与移出事件

    在NSView中: var area:NSTrackingArea! override func updateTrackingAreas() {if area != nil {self.removeT ...

  3. kotlin android获取按钮,Kotlin 实现按钮点击跳转监听事件方式

    Kotlin 实现按钮点击跳转监听事件方式 发布时间:2020-10-22 16:31:18 来源:脚本之家 阅读:96 作者:marchelli 例子:首页Guiding页面点击按钮跳转到主页面 p ...

  4. android模拟点击滑动,模拟Android的view点击和滑动监听

    一,简单形式的 /*模拟Android中的view 点击和滑动监听 * */ public class View { private OnClickListener onClickListener; ...

  5. qt Android 按键事件,QT无窗口状态下对键盘事件的监听

    Question:最近在搞linux下的一个客户端项目,需要接收键盘事件,但是又不能有界面,这种情况怎么处理呢? int main(int argc, char *argv[]) { QApplica ...

  6. Android实现双击事件的监听

    本文转自:Android实现双击事件的监听 Android实现view的双击事件监听,一般使用的场景,列表双击顶部回到第一条! 双击监听 /*** view双击监听事件*/ public class ...

  7. Android监听消息(一)——应用消息捕获

    学更好的别人, 做更好的自己. --<微卡智享> 本文长度为3679字,预计阅读7分钟 前言 上一篇<智能手表接收两台手机消息?最近计划>说了这个计划,将任务也做了拆解,想要备 ...

  8. android 通过GPS获取用户地理位置并监听位置变化

    1 Location Manager 管理服务 2 Location Provider 提供数据的content provider 方式一:GPS 特点:精度高,耗电量大,不耗费流量 权限<us ...

  9. Android Activity 生命周期详解及监听

    前言 系列文章: Android Activity 与View 的互动思考 Android Activity 生命周期详解及监听 Android onSaveInstanceState/onResto ...

最新文章

  1. Spring Cloud Ribbon(服务消费者)
  2. 第三次学JAVA再学不好就吃翔(part26)--static关键字
  3. python +appium实现原理_python_appium使用原理
  4. day5 模拟用户登录
  5. kafka 单机配置
  6. 百练 03 复杂的整数划分问题
  7. 蓝桥杯 ADV-68算法提高 企业奖金发放
  8. 按值对对象属性进行排序
  9. 【LeetCode】168. Excel Sheet Column Title 解题小结
  10. chrome 内核CEF 编译和qt 封装(上)
  11. python qq群发消息_Python版QQ群发消息
  12. 查找算法之斐波那契查找算法
  13. Sqlite3并发读写注意事项
  14. STM32F103ZET6开发板实现跑马灯实验
  15. 基于leaflet-velocity的二维动态风场展示
  16. 论文中提到的池化方法的总结
  17. 『WEB』web学习
  18. stm32 ST-Link V2下载出现 No target connected问题
  19. CF1604C Di-visible Confusion
  20. OpenGL3.3深度测试

热门文章

  1. JCA Overview
  2. 【教程】Spire.PDF教程:C# 如何提取 PDF 文档中的文本和图片
  3. RabbitMQ-启动各种报错,windows环境,RabbitMQPlugin configuration unchanged
  4. AOSP添加Google Apps(Open Gapps)构建并刷入Pixel
  5. 你不知道的云南隐藏景点_我是亲民_新浪博客
  6. Civil 3d 数据快捷方式的使用
  7. Centos 7 freeradius 搭建企业wifi认证服务
  8. Chapter 20-APIs(应用程序编程接口)
  9. 计算机网络调试记录表,计算机网络管理员中级操作技能考核评分记录表.doc
  10. 关于MySQL的驱动org.gjt.mm.mysql.Driver