从 Android 8.0(API 级别 26)开始,所有通知都必须分配到相应的渠道。对于每个渠道,您可以设置应用于其中的所有通知的视觉和听觉行为。然后,用户可以更改这些设置,并确定您应用中的哪些通知渠道应具有干扰性或应该可见。

具体的信息可参考创建和管理通知渠道  |  Android 开发者  |  Android Developers

将以下代码放入到onCreate()函数中,即能够在每次运行APP时在通知栏出现通知,如有需要可以在main_Activity.xml中添加按钮,添加按钮监听代码即可实现点击按钮出现通知。

注意:PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, FLAG_MUTABLE);

中flag值必须为FLAG_MUTABLE,不能为0,不然编译会报错。

通知代码主要分为以下几步:

1. 创建通知的意图

2. 使用 NotificationCompat.Builder 类创建通知

3.创建通知渠道

4.推送通知到通知栏

// 创建通知的意图Intent intent = new Intent(this, MainActivity.class);intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK); // 清除任务栈PendingIntent pendingIntent = PendingIntent.getActivity(this, 0, intent, FLAG_MUTABLE);// 使用 NotificationCompat.Builder 类创建通知String channelId = "my_channel_id";NotificationCompat.Builder builder = new NotificationCompat.Builder(this, channelId).setSmallIcon(R.drawable.icon).setContentTitle("天气订阅系统").setContentText("欢迎订阅天气,伴你出行!").setPriority(NotificationCompat.PRIORITY_DEFAULT).setContentIntent(pendingIntent).setAutoCancel(true);// 创建通知渠道if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {CharSequence name = "My Channel";Log.d(TAG,"频道频道");String description = "This is my notification channel";int importance = NotificationManager.IMPORTANCE_DEFAULT;NotificationChannel channel = new NotificationChannel(channelId, name, importance);channel.setDescription(description);NotificationManager notificationManager = getSystemService(NotificationManager.class);notificationManager.createNotificationChannel(channel);}// 推送通知到通知栏NotificationManagerCompat notificationManagerCompat = NotificationManagerCompat.from(this);int notificationId = 2;notificationManagerCompat.notify(notificationId, builder.build());

通知栏通知截图如下:

如出现后台发现APP有发通知但是通知栏并未出现通知,可以检查手机是否拦截了通知,关闭通知过滤即可。

若是真机测试第一次安装没有收到通知,在设置中打开该应用的通知权限,再次打开尝试。

Android开发-Notification通知栏通知最基础运用相关推荐

  1. 【Android开发教程】一、基础概念

    Android操作系统 Android是一个基于Linux.使用java作为程序接口的操作系统.他提供了一些工具,比如编译器.调试器.还有他自己的仿真器(DVM - Dalvik Virtual Ma ...

  2. “.NET研究”【Android开发教程】一、基础概念

    Android操作系统 Android是一个基于Linux.使用java作为程序接口的操作系统.他提供了一些工具,比如编译器.调试器.还有他自己的仿真器(DVM - Dalvik Virtual Ma ...

  3. Android篇 --Notification(消息通知)

    Android篇 --Notification(消息通知) 消息通知(Notification)是Android系统中比较有特色的一个功能,当某个应用程序希望用户发出一些提示信息,而该应用又不在前台运 ...

  4. Android开发之通知栏Notification详解

    Notification的用法  --- 状态栏通知  发送一个状态栏通知必须的两个类:            1. NotificationManager   --- 状态栏通知的管理类,负责发通知 ...

  5. Android开发指南 1──应用程序基础

    登录 |  注册 译言精选 订阅 社区 译言译事 翻译答问 译言帮助 文库 原文库 译文库 全部项目 空间 控制台 个人主页 发布 发布原文 发布翻译 发布编译 发布原创 首页 商业 科技 文化 体坛 ...

  6. Android开发必须掌握的Java基础知识和常见面试题

    Java基础知识 面向对象特征 基本数据类型及装箱拆箱机制 String StringBuffer StringBuild final finally finalize 区别 static关键字 重写 ...

  7. Android开发16——获取网络资源之基础应用

    一.项目背景在Android开发中有一项非常广泛的应用:Android项目获取另一个web项目的资源或者返回的数据.本博文介绍了获取另一个web项目的资源.有一个web项目,在其WebRoot文件夹下 ...

  8. Android学习—Notification消息通知

    最近在项目中需要使用消息通知,自己把它封装成了一个方法,需要的时候方便调用, 下面对Notification类中的一些常量,字段,方法简单介绍一下: 常量: DEFAULT_ALL    使用所有默认 ...

  9. Android开发--Notification和PendingIntent

    手机上方的状态栏用于显示通知消息,实现的方法很简单,只需要记住五个步骤即可(步骤写在源代码中的注释中).pendingIntent意思是延期执行的Intent,一般用于Notification中,下面 ...

最新文章

  1. 版本发布后软件测试人员要做的工作
  2. python适配器模式角色_python设计模式-适配器模式
  3. linux里的进程简介
  4. rust这么拆除钢墙_rust腐蚀如何拆墙
  5. 报错:‘nodemon‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
  6. UVALive 3401 彩色立方体
  7. 死于决斗的数学天才伽罗瓦-人生的有限域
  8. Win7下如何显示文件的扩展名?
  9. Nginx配置与安装及发布项目
  10. 苹果12系统链接到服务器超时,苹果iphone12无法连接wifi怎么回事 解决方法分享
  11. Unity 3D 射线检测方法
  12. ad18常用快捷键可以修改吗_AD18快捷键
  13. 英文电子书下载:salttiger.com
  14. php吧输出结果进行分割,[判断题] 呼叫处理程序按照一定的逻辑对呼叫进行处理,对呼叫的处理结果与局数据、用户数据的内容无关。...
  15. 指南-Luat二次开发教程-功能开发教程-SOCKET
  16. EAN13条形码绘制(Delphi版)
  17. 应用于素描人脸识别的迁移学习
  18. CSDN的markdown的KaTex数学公式
  19. 华为设备Loopback Detection配置命令
  20. 西工大c语言noj作业答案,西工大noj答案

热门文章

  1. 图片怎么自定义裁剪?图片如何裁出想要的大小?
  2. 软件缺陷常见问题总结(软件测试入门速成篇)
  3. 解决只读文件系统问题
  4. 如何确定MessageBox哪个按钮被点击。
  5. ie浏览器怎么打开html,win10ie浏览器不能打开html设置怎么办
  6. 施工工地考勤防作弊通道系统,建筑工地通道系统管理方案
  7. gke下载_我们如何在GKE上升级Kubernetes
  8. 35岁到40岁,如何突破
  9. Sort sort =new Sort(Sort.Direction.ASC,“id“)
  10. 马尔科夫随机场和马尔科夫链