| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> 第八章运用手机多媒体 Android 8.0 及以上Notification的使用 -> 正文阅读 |
|
[移动开发]第八章运用手机多媒体 Android 8.0 及以上Notification的使用 |
目录 2.1 首先拿到通知管理器 NotificationManager 2.2 创建通知渠道? NotificationChannel 一、通知通知就是字面义,可以在程序关闭或者在后台运行时发送一条消息给用户,提醒用户。用户收到通知之后,会有一个图标出现在上方,还可以下拉查看详细信息,可以点击进入app的某个活动。 通知可以在活动中创建,可以在广播接收器中创建,也可以在服务中创建。 自Android8.0之后,通知的使用有了很大的变化,在这其中我们必须用到的一个新的东西就是通知渠道,NotificationChannel。 二、通知创建的步骤2.1 首先拿到通知管理器 NotificationManager通知都是由一个通知管理器来管理的,因此在创建通知或者控制通知之前需要先拿到一个通知管理器NotificationManager:
2.2 创建通知渠道? NotificationChannel通知渠道就是每一个通知所属的一个渠道,对不同种类的通知进行了分类。这是android 8.0之后的,目的是为了用户能够更好的管理通知,同时也可以避免一些流氓通知(之前的弊端,和运行时权限的作用有点类似)。 2.2.1 创建通知渠道的步骤【1】如果手机版本的sdk大于26的话 那么就需要为每一个通知设置一个通知渠道
其中importance我们开发人员只是设置一个默认值而已,用户可以根据自己的需要进行更改。 2.3 创建通知 Notification实例对象2.3.1 创建通知实例对象的步骤【1】构造出一个通知对象 首先需要构造出通知的对象。构造对象的方法之一? ?------->? ?利用new 类名.Builder(上下文,通知渠道id).build()的方式进行构造。但是注意,这里的类名我们为了考虑安卓中各个版本兼容性,我们不直接使用Notification,而是使用NotificationCompat来进行构造。上下文就是当前上下文了,然后通知渠道id就是我们上面自己创建的通知渠道id。注意两个要点:第一就是创建一个对象的时候可以用Builder.build()来创建对象,第二就是要考虑到适配的问题,使用带compat的来作为一个类。 【2】给通知对象设置一些连缀 然后具体的通知相关内容就是可以在.build()方法那里设置连缀。 【3】调用NotificationManager的notify方法将通知进行显示 最后调用管理器的notify()方法
三、通知的进阶技巧通知的进阶技巧主要就是设置通知的点击事件 3.1 通知的点击事件需要利用PendingIntent,PendingIntent类似于intent,但是不是即刻执行的,而是在某个合适的时机去执行的,可以理解为一个延时执行的intent。 创建出PendingIntent对象,这个类有三个静态方法可以构造出这个对象:getActivity(),getService(),getBroadCast();传入的参数见代码: 然后为通知对象设置一个连缀.setContentIntent()就行了,这样点击通知之后就会跳转了。
四、通知的高级功能第一主要就是设置多一些复杂的连缀;第二就是管理通知渠道-----读取通知渠道要求开启或者删除通知渠道 4.1? 前缀中设置一些复杂的东西
还可以设置通知来了震动、闪光灯之类的…… 4.2? 管理通知渠道首先要知道,渠道创建之后就无法通过代码修改了,比如无法通过代码修改id,name之类的了。 为此,Android赋予了开发者读取通知渠道配置的权限,我们可以通过渠道的状态(开启,关闭)这些来告知用户进行相关的操作。这里展示一个提醒用户开启某个渠道的案例:
除了以上管理通知渠道的方式之外,Android 8.0还赋予了我们删除通知渠道的功能,只需使用如下代码即可删除:
以上就是android8.0以上Notification的使用,参考至:https://blog.csdn.net/guolin_blog/article/details/79854070 |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年3日历 | -2025/3/14 20:11:44- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |