博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android中的通知—Notification
阅读量:6824 次
发布时间:2019-06-26

本文共 2461 字,大约阅读时间需要 8 分钟。

Android中Notification通知的实现步骤:

1.获取NotificationManager对象

NotificationManager的三个公共方法:
①cancel(int id) 取消以前显示的一个通知.假如是一个短暂的通知,试图将隐藏,假如是一个持久的通知,将从状态条中移走。
②cancelAll() 取消以前显示的所有通知。
③notify(int id,  Notification notification) 把通知持久的发送到状态条上。

2.初始化Notification对象

Notification的属性:
audioStreamType 当声音响起时,所用的音频流的类型 
contentIntent 当通知条目被点击,就执行这个被设置的Intent
contentView 当通知被显示在状态条上的时候,同时这个被设置的视图被显示
defaults 指定哪个值要被设置成默认的
deleteIntent 当用户点击"Clear All Notifications"按钮区删除所有的通知的时候,这个被设置的Intent被执行
icon 状态条所用的图片
iconLevel 假如状态条的图片有几个级别,就设置这里
ledARGB LED灯的颜色
ledOffMS LED关闭时的闪光时间(以毫秒计算) 
ledOnMS LED开始时的闪光时间(以毫秒计算) 
number 这个通知代表事件的号码 
sound 通知的声音
tickerText 通知被显示在状态条时,所显示的信息 
vibrate 振动模式
when 通知的时间戳

注:如果使Notification常驻在状态栏可以把Notification的flags属性设置为FLAG_ONGOING_EVENT

n.flags = Notification.FLAG_ONGOING_EVENT

3.设置通知的显示参数

使用PendingIntent来包装通知Intent,使用Notification的setLatestEventInfo来设置通知的标题、通知内容等信息。

4.发送通知

使用NotificationManager的notify(int id,  Notification notification)方法来发送通知。

代码(提示下载完成:)

// 通知的ID   public static final int ID = 1;//提醒                                 // 1.获取NotificationManager对象                    NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);                // 2.初始化Notification对象                    Notification n = new Notification();                // 设置通知的icon图标                n.icon = R.drawable.icon;                // 设置通知在状态栏上显示的滚动信息                n.tickerText = "下载完成";                // 设置通知的时间                n.when = System.currentTimeMillis();                // 3.设置通知的显示参数                Intent intent = new Intent(getApplicationContext(), NotificationView.class);                PendingIntent pi = PendingIntent.getActivity(getApplicationContext(), 0, intent, 0);                n.setLatestEventInfo(getApplicationContext(), "今日头条//通知标题", "您要离线内容完成//通知内容", pi);                // 4.发送通知                nm.notify(ID, n);
package com.bawei.server;import com.bawei.jinritioutiao.R;import android.app.Activity;import android.app.NotificationManager;import android.os.Bundle;public class NotificationView extends Activity{@Overrideprotected void onCreate(Bundle savedInstanceState) {    // TODO Auto-generated method stub    super.onCreate(savedInstanceState);    setContentView(R.layout.notificationview);    // 取消通知    NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);    nm.cancel(MyServer.ID);    finish();}}

转载于:https://www.cnblogs.com/1426837364qqcom/p/5311960.html

你可能感兴趣的文章
虚拟机CentOS6.5网络配置
查看>>
bzoj2563 阿狸和桃子的游戏
查看>>
概念整理3
查看>>
《Hadoop基础教程》之初识Hadoop
查看>>
转:前端单元测试总结
查看>>
【LeetCode每天一题】 Intersection of Two Linked Lists(两个链表的入口节点)
查看>>
spring mvc 用ajaxSubmit 在iE8上传文件变下载的问题
查看>>
Nginx 负载均衡动静分离配置
查看>>
laravel, Composer和autoloading
查看>>
D3 JS study notes
查看>>
算法整理-二叉树和堆栈
查看>>
如何设计一个“高大上”的 logo
查看>>
clustalo安装
查看>>
[日常] Go语言圣经--示例: 并发的Clock服务习题
查看>>
个人总结8
查看>>
SCUT个人整理的常见问题
查看>>
二十二、Command 命令模式
查看>>
HDU Just a Hook
查看>>
什么是webpack?
查看>>
20165206学习基础和C语言基础调查
查看>>