Notification通知使用方法详解

更新时间:2023-07-01 19:20:21 阅读: 评论:0

Notification通知使⽤⽅法详解
通知是应⽤向⽤户显⽰的消息提⽰,当发送通知时,通知将先以图标的形式显⽰在通知区域中。⽤户可以打开下拉通知栏查看通知的详细信息。 通知区域和下拉通知栏均是由系统控制的区域,⽤户可以随时查看。
1. Notification 简介
告诉你我的秘密2. 通知的创建
3. 通知的管理
4. 简单的通知
5. 可以 扩展的通知
6. 通知中含下载进度条
7. 通知中含媒体播放控件
8. ⾃定义通知内容
欢迎关注微信公众号:程序员Android
微信公众号:ProgramAndroid
我们不是⽜逼的程序员,我们只是程序开发中的垫脚⽯。
通知在Android⽤户界⾯的⼀个重要部分,其使⽤⽅法请看以下内容:
Notification 继承关系如下:
java.lang.Object
android.app.Notification
1.Notification 简介
自邮一族
通知是应⽤向⽤户显⽰的消息提⽰,当发送通知时,通知将先以图标的形式显⽰在通知区域中。⽤户可以打开下拉通知栏查看通知的详细信息。 通知区域和下拉通知栏均是由系统控制的区域,⽤户可以随时查看。
通知区域中的通知
下拉通知栏中的通知
2.创建Notification 的⽅法
1. 调⽤NotificationCompat.Builder.build() 创建Notification 对象
2 . 然后调⽤ ify() 将 Notification 对象传递给系统。
注意: Notification 对象必须包含以下内容:
Notification 对象必须包含以下内容
⼩图标,由 tSmallIcon() 设置
标题,由 tContentTitle() 设置
详细⽂本,由 tContentText() 设置
3. 通知可选内容
设置优先级
通知默认优先级为 PRIORITY_DEFAULT 0
PRIORITY_LOW=-1
PRIORITY_MIN=-2
PRIORITY_DEFAULT = 0
PRIORITY_HIGH=1
PRIORITY_MAX=2
4. 设置可以扩展样式
通过 Notification.Builder.tStyle()可以设置通知的样式。
5. 点击通知启动Activity(PendingIntent)
通知中经常遇到,点击通知栏,打开Activity。
Intent resultIntent = new Intent(this, NotificationMethods.class);
// 新开⼀个Activity 栈
resultIntent.tFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TASK);
TaskStackBuilder stackBuilder = ate(this);
stackBuilder.addParentStack(NotificationMethods.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = PendingIntent(0,
PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.tContentIntent(resultPendingIntent);
3. 通知的管理
1. 更新通知
调⽤ ify(ID) 发出带有通知 ID 的通知,ID相同,即可更新以前ID发送的通知。
2. 删除通知
创建时 调⽤了 tAutoCancel(true),
删除时候调⽤删除指定ID
NotificationManager.cancel(notificationId)
删除⾃⼰应⽤发的所有通知
Utils.mNotificationManager.cancelAll();
3. 在通知中显⽰进度条
4. 简单的通知
实现效果
简单通知图⽚
实现代码
/**
* 简单通知
*/
public void SimpleNotification(View view) {
Notification.Builder mBuilder = new Notification.Builder(this);
mBuilder.tSmallIcon(R.drawable.ic_launcher)
.tContentTitle("简单通知Tittle").tContentText("点击可以打开Activity");
Intent resultIntent = new Intent(this, NotificationMethods.class);
// 新开⼀个Activity 栈
resultIntent.tFlags(Intent.FLAG_ACTIVITY_NEW_TASK
| Intent.FLAG_ACTIVITY_CLEAR_TASK);
TaskStackBuilder stackBuilder = ate(this);
stackBuilder.addParentStack(NotificationMethods.class);
stackBuilder.addNextIntent(resultIntent);
PendingIntent resultPendingIntent = PendingIntent(0,
PendingIntent.FLAG_UPDATE_CURRENT);
mBuilder.tContentIntent(resultPendingIntent);
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);        ify(0, mBuilder.build());
黑色的童话}
5. 可以扩展的通知
实现效果
通知展开图
白鹭上青天通知未展开图
实现代码
/**
* 可扩展通知
* **/
public void NotificationStyle(View view) {
Notification.Builder mBuilder = new Notification.Builder(this);
mBuilder.tLargeIcon(
DrawableUtils.DrawableToBitmap(getResources().getDrawable(
R.drawable.ic_launcher)))
.tContentTitle("我是可扩展通知的Tittle ")
.tContentText("我是可扩展通知的内容")
.
tSmallIcon(R.drawable.ic_launcher)
.tAutoCancel(true)
.tStyle(
new Notification.InboxStyle().addLine("我是可扩展通知第⼀⾏")
.addLine("我是可扩展通知第⼆⾏")
.tBigContentTitle("我是可扩展的⼤ Tittle")
.tSummaryText("点击,展开获取更多内容"));
12对脑神经
NotificationManager mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);        // 如果Id ⼀样可以更新通知
雪梨粥的做法}
6. 通知中含下载进度条好的英语句子
实现效果
下载中通知
亲子绘本下载完成通知
实现代码

本文发布于:2023-07-01 19:20:21,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/82/1072701.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:通知   区域   对象   实现
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图