Notification封装(没做从网络下载)

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

建立一个bean

package com.jcut.view;

/**
 * Author:JsonLu
 * DateTime:2016/2/26 14:25
 * Email:[email protected]
 * 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:[email protected]
 * 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);
        }
    }
时间: 2024-10-16 12:15:28

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

Java学习总结(随笔)——利用JSON解析实现网络下载

利用JSON实现网络下载1.下载json字符串:(1)将网址封装到URL中:URL url=new URL("网址");(2)利用url打开HTTP: HttpURLConnection conn= (HttpURLConnection)ulr.openConnection();(3)开始连接:conn.connect();(4)利用输入流读取网络数据:(5)将下载的数据转换成字节数组:2.下载所需资源:与上述步骤相同,最后利用输出流,写入到目标地址例1(我们以下载图片为例(注释中详细

Android学习笔记--使用Apache HttpClient实现网络下载效果,附带进度条显示

今天学习 了Apache 写了一个网络下载的效果,代码如下,代码中我已经写了很详细的注释了,相信大家都能看懂 1 http://m.blog.csdn.net/article/details?id=52927536 2 3 4 package com.wuxianedu.httpdemo; 5 6 import android.app.ProgressDialog; 7 import android.content.Intent; 8 import android.net.Uri; 9 impo

小米平板体验:做了苹果没做的塑料平板

IT之家(www.ithome.com):小米平板体验:做了苹果没做的塑料平板 15日,雷军在北京国际会议中心的小米新品发布会上,公布了全新的小米平板.在发布会后人群在产品体验区排起了长龙,排了足足25分钟的队后我拿起小米平板进行体验,但由于外面仍有大量的人未进场,整个试用过程仅有可怜的3分钟. 进入微软.亚马逊,谷歌等美国IT企业工作人才项目,起薪40万,百度搜索(MUMCS) 其实在整场发布会上,我仿佛有了种雷军重新发布了一次iPad mini的感觉.不仅是雷军在整场发布会上多次提及苹果,包

HttpUtils.java 网络下载工具类

package Http; import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.InputStream;import java.net.HttpURLConnection;import java.net.URL; /** * 网络下载工具类 * 功能:下载字节数组,下载文本数据 * 下载数字数组(文本 图片 mp3) * 下载文本数据 * Created by lxj-pc on 2017/

网络下载图片 (cell部分)

网络下载图片不能放在主线程: 1.会阻塞主线程:影响用户体验 2.重复下载,浪费流量,浪费时间 推荐第三方框架SDWebImage, 包含的功能:图片下载.图片缓存.下载进度监听.gif处理等等. 导入这个分类:#import "UIImageView+WebCache.h"

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

首先不要被人蒙了,如果是这样,根本编译不过: int i=1; int b=i+++++i; printf("%d %d\n", b ,i); Mingw报错:error: lvalue required as increment operand (好像是说,++缺左值,这里的++是上题的第三第四个加号) VC2010报错:error C2105: '++' needs l-value --------------------------------------------------

asyncTask异步任务:从网络下载图片

[关键字]:3个参数,4个步骤 第一步:表示任务执行前的操作 第二步:主要完成耗时操作 第三步:主要是更新UI操作 第四步:产生最终结果 以下实例中代表的含义为: 第一步:显示进度条 第二步:(此任务必不可少)在后台执行任务,将进度值传给第三步,将结果传给第四步: 第三步:进度值更新 第四步:产生最终结果 1.添加网络授权: 因为手机默认不能访问网络,所以首先要在清单文件 AndroidManifest.xml中添加网络授权. 方法如下: 打开AndroidManifest.xml文件,点击"P

sharepoint 2007 “文件为网络下载文件,请存储到硬盘之后再修改文件。”

当直接打开sharepoint 2007 上的excel文档后,使用使用ctrl+s保存的时候,就弹出对话框"文件为网络下载文件,请存储到硬盘之后再修改文件." 检查发现是sharepoint上安装了第三方加密工具trustview导致的. 解决办法:1.点击保存按钮保存 2.使用"迁出"后,打开文档 3.在excel中关闭trustview插件: excel options--add-ins--mamage下面选择com add-ins--然后点Go--取消选择:

hdu--4432--好久没做题了.

很久没做题了...一想到要去 遥远的 牡丹江 我就------------- 这题 没什么好说的 就是个十进制的数转换成任意进制的数 就是要注意下 10进制以上的数 10是表示为A 11表示为B ......... 好 贴代码 继续做一两题. 1 #include <iostream> 2 #include <vector> 3 using namespace std; 4 5 vector<int>ve; 6 int num[110]; 7 int sum , n ,