文档章节

android中的Notification简单总结

 下雨天_冒泡泡
发布于 2017/01/19 14:02
字数 976
阅读 1
收藏 0

http://www.cnblogs.com/plokmju/p/android_Notification.html-------------各类通知讲解:如进度,大图标(一条通知的多行显示),小图标等


内容摘要:
接收通知是提示:1、状态条显示
        2、振动
        3、声音
        4、闪光灯
开启振动与闪光灯的权限(AndroidManifest):
<users-permission android:name="android.permission.FLASHLIGHT"/>

<users-permission android.permission.VIBRATE/>

DEFAULT_ALL:铃声、闪光、振动均为系统默认
DEFAULT_SOUND:系统默认铃声
    VIBRATE:      振动
    LIGHTS:       闪光

通知:notification

功能作用:
1、显示接收到的短消息、即时消息等信息(如QQ,微信,新浪,短信)
2、显示客户端的推送消息(如有新版本发布,广告,推荐新闻等)
3、显示正在进行的事物(例如:后台运行的程序,如音乐播放器、版本更新时候的下载进度等)


思维导图大体结构:
Notification---service---BroadcastReceiver---Intent(flag、Action等属性应用)---PendingIntent

相关分析:
状态通知栏主要涉及到两个类:Notification和NotificationManager
Notification为通知信息类,它里面对应了通知栏的各个属性
NotificationManager是状态栏通知管理类,负责发通知、清除通知等操作。

注意:NotificationManager是一个系统Service,所以必须通过getSystemService(NOTIFICATION_SERVICE)方法来获取
方法:NotificationManager manager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE)


使用步骤:
1.流程模块:
第一步:创建一个通知栏的Builder构造类

第二步:定义通知栏的Action

第三步:设置通知栏点击事件

第四步:通知

2.代码模块:
实现系统默认的通知栏效果
第一步:获取状态通知栏管理
NotificationManager manager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE)
                        
第二步:实例化通知栏构造器Notification.Builder:
NotificationCompat.Builder myBuilder=new NotificationCompat.Builder(this);
   

第三步:对Builder进行配置
myBuilder.setContentTitle(“测试标题”)//设置通知栏标题
.setContentText("测试内容")//设置通知栏显示内容
.setContentIntent(getDefaultIntent(Notification.FLAG_AUTO_CANCLE))//设置通知栏点击意图
.setNumber(number)//设置通知集合的数量
.setTicker("测试通知来啦")//通知首次出现在通知栏,带上升动画效果
.setWhen(System.currentTimeMillis())//通知产生的时间,会在通知信息里显示,一般是系统获取到的时间
.setPriority(Notification.PRIORITY_DEFAULT)//设置该通知的优先级
.setAutoCance(true)//设置这个标志当用户单击面板就可以让通知自动取消
.setOngoing(flase)//true,设置它为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(入一个文件下载,同步操作,主动网络连接)
.setDefaults(Notification.DEFAULT_VIBRATE)//向通知添加声音、闪灯和震动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性可以组合//Notification.DEFAULT_ALL Notification.DEFAULT_SOUND添加声音
.setSmallIcon(R.drawable.ic_launcher);//设置通知小ICON

方法:设置提醒标识符Flags
功能:提醒标识符,想通知添加声音、闪灯和震动效果等设置达到通知提醒效果,可以组合多个属性
有两种设置方法:
1.实例化通知栏之后通过给他添加.flags属性赋值
Notification notification = mBuilder.build();
notification.flags = Notification.FLAG_AUTO_CANCEL;

2.通过setContentIntent(PendingIntent intent)方法中的意图设置对应的flags
public PendingIntent getDefalutIntent(int flags){
    PendingIntent pendingIntent= PendingIntent.getActivity(this, 1, new Intent(), flags);
    return pendingIntent;
}

在执行了点击通知之后要跳转到指定的XXX的Activity的时候,可以设置以下方法来相应点击事件:

Intent intent = new Intent(context,XXX.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
mBuilder.setContentIntent(pendingIntent)


在执行了清空全部的通知操作时候,可以设置以下方法来相应这个事件:

采用setDeleteIntent(PendingIntent intent)方法或按照以下写法
Intent deleteIntent = new Intent();
deleteIntent.setClass(context, XXXReceiver.class);
deleteIntent.setAction(DELETE_ACTION);
notification.deleteIntent = PendingIntent.getBroadcast(context, 0, deleteIntent, 0);


第五步,最简单的一部,发送通知请求

mNotificationManager.notify(notifyId, mBuilder.build());


http://www.2cto.com/kf/201405/300991.html
http://www.itnose.net/detail/6169442.html
http://www.cnblogs.com/plokmju/p/android_Notification.html
http://www.2cto.com/kf/201408/324695.html
http://blog.csdn.net/buptlzx/article/details/22667675

© 著作权归作者所有

粉丝 3
博文 29
码字总数 16035
作品 0
西安
私信 提问
Android Notification详解——响应notification事件

上一篇讲了如何创建并显示一个notification,这一篇就总结下点击notification后,程序应该如何响应。 一般来讲,点击一个notification后,都会打开一个Activity做为对点击事件的响应,这个A...

Carl_
2015/04/29
133
0
android Notification 的使用(转自他人)

最近一直在研究 android ,并一边研究一边做应用。其中遇到了把程序通知常驻在 Notification 栏,并且不能被 clear 掉(就像android QQ一样)的问题。经过研究实现了其功能,现把 Notificati...

eric_zhang
2012/02/10
903
0
【android基础学习之七】——常用效果2

声明:学习的书籍《Android应用开发揭秘》,这里记录学习该书籍的日志,引用的相关代码与总结描述,没有商业的用途,完全是自我学习的一个记录,刚刚学习不可避免会出现很多问题,若是有错误...

晨曦之光
2012/03/08
1K
0
翻看谷歌源码 那些让人感兴趣的东西--桌面提示未读信息

版权声明:本文为博主原创文章,允许转载,但请保留出处。 https://blog.csdn.net/ddwhan0123/article/details/51497426 转载请注明出处:王亟亟的大牛之路 之前一旦时间觉得不知道看些什么学...

王亟亟
2016/05/25
0
0
第88章、系统服务之NOTIFICATION_SERVICE服务(从零开始学Android)

Notification通知将一个图标(包含一条可选的提示文本信息)填加到系统的状态栏(一般来说,Android手机的状态栏是在顶部,非底部,要注意噢)中,并将一条展开信息添加到通知窗口中。当用户...

simpower
2014/09/01
957
0

没有更多内容

加载失败,请刷新页面

加载更多

PostgreSQL 11.3 locking

rudi
今天
5
0
Mybatis Plus sql注入器

一、继承AbstractMethod /** * @author beth * @data 2019-10-23 20:39 */public class DeleteAllMethod extends AbstractMethod { @Override public MappedStatement injectMap......

一个yuanbeth
今天
13
1
一次写shell脚本的经历记录——特殊字符惹的祸

本文首发于微信公众号“我的小碗汤”,扫码文末二维码即可关注,欢迎一起交流! redis在容器化的过程中,涉及到纵向扩pod实例cpu、内存以及redis实例的maxmemory值,statefulset管理的pod需要...

码农实战
今天
4
0
为什么阿里巴巴Java开发手册中不建议在循环体中使用+进行字符串拼接?

之前在阅读《阿里巴巴Java开发手册》时,发现有一条是关于循环体中字符串拼接的建议,具体内容如下: 那么我们首先来用例子来看看在循环体中用 + 或者用 StringBuilder 进行字符串拼接的效率...

武培轩
今天
9
0
队列-链式(c/c++实现)

队列是在线性表功能稍作修改形成的,在生活中排队是不能插队的吧,先排队先得到对待,慢来得排在最后面,这样来就形成了”先进先出“的队列。作用就是通过伟大的程序员来实现算法解决现实生活...

白客C
今天
87
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部