博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Notification
阅读量:6551 次
发布时间:2019-06-24

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

hot3.png

Notification的使用方法,其实属性设置

0.获取NotificationManager

NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
在Android源码Context.java文件中有
public static final String NOTIFICATION_SERVICE = "notification";

1.设置标题:

String titleStr = context.getString(R.string.norification_control_state_title);

2.设置摘要:

String summaryStr = context.getString(R.string.norification_control_state_summary);

Notification标志ID.可以通过这个ID来取消这个通知

notificationManager.cancel(notificationID);
private static final int notificationID = 1;

3.实例化Notification:

Notification notification = new Notification();

4.设置通知的图标:

notification.icon = R.drawable.ic_setting_security;

5.设置时间,值为0 时则不显示,也可以设置为系统当前时间System.currentTimeMillis();

notification.when = 0;

6.设置flags,这单词自己理解意义吧!翻译成标志似乎并不恰当.

FLAG_AUTO_CANCEL  该通知能被状态栏的清除按钮给清除掉
FLAG_NO_CLEAR     该通知能不被状态栏的清除按钮给清除掉
FLAG_ONGOING_EVENT 通知放置在正在运行
FLAG_INSISTENT 是否一直进行,比如音乐一直播放,知道用户响应
源代码Notification.java中
public static final int FLAG_AUTO_CANCEL = 0X00000010;
其他的就不一一列举了.
notification.flags = Notification.FLAG_AUTO_CANCEL;

7.设置状态栏的标题

notification.tickerText = titleStr;

8.设置灯光闪烁提醒,

.使用默认闪烁
notification.defaults |= Notification.DEFAULT_LIGHTS;
.使用自定义闪烁
notification.ledARGB = 0xff00ff00; // LED灯的颜色,绿灯
notification.ledOnMS = 300; // LED灯显示的毫秒数,300毫秒
notification.ledOffMS = 1000; // LED灯关闭的毫秒数,1000毫秒
notification.flags |= Notification.FLAG_SHOW_LIGHTS; // 必须加上这个标志

notification.defaults = 0

9.设置提示声音,

·使用默认声音
notification.defaults |= Notification.DEFAULT_SOUND;
·使用自定义声音
notification.sound = Uri.parse("file:///sdcard/notification/ring.mp3");
notification.sound = null;

10.设置震动提示,

·使用默认振动
notification.defaults |= Notification.DEFAULT_VIBRATE;
·使用自定义振动
0ms延迟后震动100ms,停止200ms后震动300ms
long[] vibrate = {0,100,200,300};
notification.vibrate = vibrate;

11.设置该通知的优先级

PRIORITY_DEFAULT,
PRIORITY_LOW,
PRIORITY_MIN,
PRIORITY_HIGH,
PRIORITY_MAX,
根据意思应该可以理解是什么级别!
notification.priority = Notification.PRIORITY_DEFAULT;

12.设置意图

Intent intent = new Intent();
Intent.setAction("com.security.PERMISSION_CONTROL");

13.获得PendingIntent 

PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); 
notification.SetLatestEventInfo(context, titStr, summStr, pendingIntent);
notificationManager.notify(notificationID, notification);

这样完成了Notification的操作!

另外5.0有浮动通知Heads-up notifications大家可以尝试使用一下,其实我并不不知道它是什么时候增加的!

转载于:https://my.oschina.net/SunnyTime/blog/386736

你可能感兴趣的文章
mysql面试题
查看>>
Zabbix3.0.12部署
查看>>
腾讯技术工程 | 腾讯AI Lab解析2017 NIPS三大研究方向,启动教授及学生合作项目...
查看>>
Ubuntu版本代号
查看>>
sel4j错误记录
查看>>
搭建android + cordova环境
查看>>
老男孩Linux50期决心书
查看>>
Petya勒索病毒疫苗出现,分分钟让电脑对病毒免疫
查看>>
实现memcmp函数
查看>>
vim编辑器的附加功能
查看>>
centos lvs+keepalived 双机实现互备且同为realserver
查看>>
centos6.5监控平台nagios搭建与配置
查看>>
[C#基础知识系列]全面解析C#中静态与非静态
查看>>
活动目录域及工作组环境外部时间源同步
查看>>
智慧旅游
查看>>
搭建服务器虚拟空间支持数据库操作
查看>>
ACS USB安装引导制作
查看>>
我的友情链接
查看>>
关于文件结束符EOF
查看>>
如何下载导入以及安装Cisco路由器交换机License
查看>>