1.Notification作为消息通知,这里简单封装了使用

建立一个bean

package com.jcut.view;

/**
* Author:JsonLu
* DateTime:2016/2/26 14:25
* Email:jsonlu@qq.com
* Desc:
**/
public class NotificationModel { private String NTitle;
private String NContent;
private long NWhen;
private String NTicker;
private int NType;
private String NIcon; public String getNTitle() {
return NTitle;
} public void setNTitle(String NTitle) {
this.NTitle = NTitle;
} public String getNContent() {
return NContent;
} public void setNContent(String NContent) {
this.NContent = NContent;
} public long getNWhen() {
return NWhen;
} public void setNWhen(long NWhen) {
this.NWhen = NWhen;
} public String getNTicker() {
return NTicker;
} public void setNTicker(String NTicker) {
this.NTicker = NTicker;
} public int getNType() {
return NType;
} public void setNType(int NType) {
this.NType = NType;
} public String getNIcon() {
return NIcon;
} public void setNIcon(String NIcon) {
this.NIcon = NIcon;
}
}

简单的Notification 的封装

package com.jcut.view;

import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Context;
import android.support.v7.app.NotificationCompat; import com.example.jcut.R; /**
* Author:JsonLu
* DateTime:2016/2/26 12:46
* Email:jsonlu@qq.com
* Desc:
**/
public class Notification extends NotificationCompat { private Builder mBuilder; public Notification(Context context) {
mBuilder = new Builder(context);
} public Notification(Context context, NotificationModel model) {
mBuilder = new Builder(context);
mBuilder.setContentTitle(model.getNTitle())
.setContentText(model.getNContent())
.setTicker(model.getNTicker())
.setWhen(model.getNWhen())
.setPriority(PRIORITY_DEFAULT)
.setOngoing(false)
.setDefaults(model.getNType())
.setSmallIcon(R.drawable.ic_launcher);//此处要下载图片到本地
} public Builder getmBuilder() {
return mBuilder;
} public void setContentIntent(CallBack call) {
mBuilder.setContentIntent(call.getPendingIntent());
} public void notify(int notifyId, NotificationManager manager) {
android.app.Notification notify = mBuilder.build();
notify.flags = Notification.FLAG_AUTO_CANCEL;
manager.notify(notifyId, notify);
} public interface CallBack {
PendingIntent getPendingIntent();
}
}

简单的Test

public void showButtonNotify() {
Notification customNot = new Notification(this);
NotificationCompat.Builder mBuilder = customNot.getmBuilder();
mBuilder.setContentTitle("测试标题")//设置通知栏标题
.setContentText("测试内容") //设置通知栏显示内容
.setTicker("测试通知来啦") //通知首次出现在通知栏,带上升动画效果的
.setWhen(System.currentTimeMillis())//通知产生的时间,会在通知信息里显示,一般是系统获取到的时间
.setPriority(PRIORITY_DEFAULT) //设置该通知优先级
.setOngoing(false)//ture,设置他为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载,同步操作,主动网络连接)
.setDefaults(DEFAULT_VIBRATE)//向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合
// Notification.DEFAULT_ALL Notification.DEFAULT_SOUND 添加声音 // requires VIBRATE permission
.setSmallIcon(R.mipmap.ic_launcher);//设置通知小ICON customNot.setContentIntent(new CallBackImpl());
NotificationManager mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
customNot.notify(1, mNotificationManager);
} public PendingIntent getDefalutIntent(int flags) {
Intent notificationIntent = new Intent(this, TestActivity.class);
notificationIntent.setAction(Intent.ACTION_MAIN);
notificationIntent.addCategory(Intent.CATEGORY_LAUNCHER);
PendingIntent contentIntent = PendingIntent.getActivity(this, 0, notificationIntent, PendingIntent.FLAG_UPDATE_CURRENT);
return contentIntent;
} class CallBackImpl implements Notification.CallBack {
@Override
public PendingIntent getPendingIntent() {
return getDefalutIntent(1);
}
}

Notification封装(没做从网络下载)的更多相关文章

  1. WorldWind源码剖析系列:网络下载类WebDownload

    网络下载类WebDownload封装了对请求的瓦片进行网络下载的相关操作.该类使用了两个委托类型和一个枚举类型. 该类的类图如下. 网络下载类WebDownload各个字段和属性的含义说明如下: st ...

  2. 用python做youtube自动化下载器 代码

    目录 项目地址 思路 流程 1. post i. 先把post中的headers格式化 ii.然后把参数也格式化 iii. 最后再执行requests库的post请求 iv. 封装成一个函数 2. 调 ...

  3. [搜片神器]直接从DHT网络下载BT种子的方法

    DHT抓取程序开源地址:https://github.com/h31h31/H31DHTDEMO 数据处理程序开源地址:https://github.com/h31h31/H31DHTMgr DHT系 ...

  4. android 图片网络下载github开源框架之Universal-Image-Loader

    最近在做妙趣剪纸项目,剪纸应用项目链接.发扬传统文化,大家多多关注. 需要自己搭建服务器,我用的是新浪sae,简直秒杀京东云几条街,把图片放在网上下载,但是图片经常下载要遇到很多问题,包括oom等.所 ...

  5. [No000079]罗辑思维2016.1.2日前的所有每日语音,python3做的网络爬虫

    源码地址:https://github.com/charygao/Download_the_LouJiSiWei 写过很久了,vision1.0里有不少bug,今天重新整理修改了一下,运行了一下,2个 ...

  6. 没做过编译器就是被人欺——从一道变态的i++题猜编译器的行为(表达式从左往右扫描,同一变量相互影响)

    首先不要被人蒙了,如果是这样,根本编译不过: int i=1; int b=i+++++i; printf("%d %d\n", b ,i); Mingw报错:error: lva ...

  7. 关于一些没做出来的SBCF题

    这里是一些我SB没做出来的CF水题. 其实这些题思维量还不错,所以写在这里常来看看…… 不一定每题代码都会写. CF1143C Queen 其实只要注意到如果一个点开始能被删,那一直就能被删:一个点开 ...

  8. 所有流媒体协议,编解码规范和媒体封装格式的datasheet的下载地址

    https://github.com/jiayayao/DataSheet All datasheet about stream protocol, encode-decode spec and me ...

  9. 【腾讯敏捷转型No.5】需求没做完可以发布嘛

    很多人对于敏捷的第一直觉就是“快”,开发快,测试快,发布快,并不知道如何把这个“快”应用到敏捷实践中,下面我们来分析一下导致工作效率低的核心原因.没有使用敏捷之前,在大多数情况下,项目管理都需要开各种 ...

随机推荐

  1. SharePoint 2013 弹窗效果之URL打开方式(一)

    在SharePoint中想做一个弹出效果其实很简单,仅仅在js中使用SharePoint Modal Dialog, 以下做一个简单的例子:很多情况下我们会通过linkButton弹出一个详细页面,那 ...

  2. 利用TraceSource写日志

    利用TraceSource写日志 从微软推出第一个版本的.NET Framework的时候,就在“System.Diagnostics”命名空间中提供了Debug和Trace两个类帮助我们完成针对调试 ...

  3. GO:格式化代码

    http://www.ituring.com.cn/article/39380 Go 开发团队不想要 Go 语言像许多其它语言那样总是在为代码风格而引发无休止的争论,浪费大量宝贵的开发时间,因此他们制 ...

  4. C语言中如何使用宏

    C(和C++)中的宏(Macro)属于编译器预处理的范畴,属于编译期概念(而非运行期概念).下面对常遇到的宏的使用问题做了简单总结. 宏使用中的常见的基础问题  #符号和##符号的使用  ...符号的 ...

  5. Json传递后台数据的问题

    在后台我有两个类: public Class Person { private String name; private Address address;//一个自定义的类 //getter和sett ...

  6. FFmpeg常用基本命令

    FFmpeg常用基本命令 1.分离视频音频流 ffmpeg -i input_file -vcodec copy -an output_file_video //分离视频流 ffmpeg -i inp ...

  7. BZOJ 1053 [HAOI2007]反素数ant

    1053: [HAOI2007]反素数ant Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1948  Solved: 1094[Submit][St ...

  8. 【转】Javabyte[]数组和十六进制String之间的转换Util------包含案例和代码

    原文网址:http://blog.csdn.net/caijunjun1006/article/details/11740223 Java中byte用二进制表示占用8位,而我们知道16进制的每个字符需 ...

  9. Delphi NativeXml用法攻略 转

    NativeXml可以在官网上下载,下载后将文件夹放在指定地方,打开DELPHI在其环境变量中引用NativeXml路径,然后在程序中引用NativeXml单元,我们就可以使用NativeXml了. ...

  10. 使用国内镜像通过pip安装python的一些包 Cannot fetch index base URL http://pypi.python.org/simple/

    原文地址:http://www.xuebuyuan.com/1157602.html 学习flask,安装virtualenv环境,这些带都ok,但是一安装包总是出错无法安装, 比如这样超时的问题: ...