通知Notification_springboot+notificationmanager-程序员宅基地

技术标签: android  

  public void sendnotification(View view){
    //通过Builder来创建通知,首先先创建Builer类的对象
    NotificationCompat.Builder builder = new Builder(this);
    //设置通知
    builder.setSmallIcon(R.drawable.gallery)
    .setContentInfo("简短的文本")
    .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.drawable.fruit_ninja))
    .setContentTitle("详细的标题")
    .setContentText("详细内容");
    //设置当用户点击该通知时执行的意图
    Intent intent = new Intent();
    intent.setAction(Intent.ACTION_VIEW);
    intent.setData(Uri.parse("http://www.baidu.com"));
    //创建延迟意图
    PendingIntent pintent = PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
    //与通知关联
    builder.setContentIntent(pintent);
    //创建通知
    Notification   notification = builder.build();
    NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    //发送通知
    manager.notify(10,notification);
   
    }
    
    public void sendnotificationmore(View view){
    NotificationCompat.Builder builder = new Builder(this);
    //小图标
    builder.setSmallIcon(R.drawable.gallery);
    //设定大图标样式
    NotificationCompat.InboxStyle style = new InboxStyle();
    style.addLine("小强是坏蛋");
    style.addLine("小强是坏蛋");
    style.addLine("小强是坏蛋");
    style.addLine("小强是坏蛋");
    //设定大视图标题
    style.setBigContentTitle("信息列表");
    builder.setStyle(style);
    //设定点击通知时执行的意图
    Intent intent = new Intent(this,SecondActivity.class);
    PendingIntent pintent = PendingIntent.getActivity(this, 6, intent, PendingIntent.FLAG_ONE_SHOT);
    //关联
    builder.setContentIntent(pintent);
    builder.setAutoCancel(true);
    //创建通知
    Notification   notification = builder.build();
    NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    //发送通知
    manager.notify(10,notification);
    }
    
    public void sendprogressnotification(View view){
    final NotificationCompat.Builder builder = new Builder(this);
    builder.setSmallIcon(R.drawable.fruit_ninja)
    .setContentTitle("正在下载游戏中……")
    .setContentText("下载中……");
    final NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    //用线程来模拟网络下载操作
    new Thread(new Runnable() {

@Override
public void run() {
// 及时更新刻度
for(int i=0;i<=100;i+=5){
builder.setProgress(100, i, false);
manager.notify(30,builder.build());
try {
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
//如果循环结束,代表着下载的进度结束
//通知下载结束
builder.setContentText("下载结束");
manager.notify(30,builder.build());

}
}).start();
    }
    
    public void sendcusnotification(View view){
    NotificationCompat.Builder builder = new Builder(this);
    builder.setSmallIcon(R.drawable.fruit_ninja);
    //创建自定义视图
    RemoteViews views = new RemoteViews(getPackageName(),R.layout.customer);
    //设置自定义视图中相关控件的内容
    views.setTextViewText(R.id.tvinfo, "自定义通知");
    views.setImageViewResource(R.id.ivicon, R.drawable.gallery);
    //把自定义的视图显示在通知上
    builder.setContent(views);
    //创建通知
    Notification nf = builder.build();
    //发送通知
    NotificationManager manager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    manager.notify(50,nf);
    }
}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/languobeibei/article/details/51801900

智能推荐

Fragment制作ImageButton底部导航栏_android 底部导航栏imagebutton-程序员宅基地

文章浏览阅读171次。使用Android Studio对Fragment的认识和ImageButton的使用_android 底部导航栏imagebutton

[How TO]-Ubuntu 20.04修改终端标题栏文字-程序员宅基地

文章浏览阅读1.9k次。前旧版本的Ubuntu(ubuntu14.04)下的终端可以右键在标题栏上点击,菜单里就有一项可以改终端的标题。在Ubuntu 16.04/20.04下发现竟然没有这一项了。在网上找了一下,发现原来是可以在终端里面使用命令改的。方法是在Home目录的.bashrc里面加上如下代码st (){ echo if [ -z "$ORIG" ]; then ORIG=$PS1 fi TITLE="\[\e]2;$*\

用74ls90组成二十四进制计数器_89c52定时计数器T2-程序员宅基地

文章浏览阅读3k次。T2是89c52的独有的16位的定时计数器。该定时计数器有3种工作方式:捕捉,重新装载和波特率发生器。该定时计数器用的不是很多,其控制寄存器与定时计数器0和1不同,其特殊功能寄存器为T2MOD和T2CON。a. T2MOD控制寄存器T2MOD的字节地址为C9H,如果程序提示不认识T2MOD,那么需要在reg52.h补充定义,或者在程序里补充定义。T2MOD 8中只有2位有效,D1:T2OE和D0:..._7490构成24进制计数器

phplib简明教程-程序员宅基地

文章浏览阅读555次。phplib简明教程 phplib基本安装和使用 要想使用phplib强大的功能,有几种途径可以达到目的。 1.采用phplib建议的安装方式,说安装,其实就是把phplib的类预先让解析器加载到内存,这样使用的时候就不需要做任何设置,这样的好处显而易见。不过缺点也是很

el-popover 样式修改_修改el-popover样式-程序员宅基地

文章浏览阅读9.7k次,点赞6次,收藏10次。el-popover 样式修改 通过popper-class绑定自定义类名popperOptions,注意popperOptions需放在样式的根文件中原始样式:更改后的样式:<el-popover width="300" trigger="hover" popper-class="popperOptions" placement="top-start" > <div class="operate-btn" s_修改el-popover样式

手机关键器件质量管理系列讲座(二):PCB十大质量问题与对策_化金板保质期-程序员宅基地

文章浏览阅读1.2k次。FROM:http://www.elexcon.com/news/104933.html漫长的生产流程,诸多的控制点,一招不慎,板子就坏。PCB的质量问题层出不穷也是业界一直头疼的问题,一片板子有问题,贴上去的绝大部分器件 就得一起报废。可恨的是,这些问题通过进料检验(IQC)还发现不了。而更让人烦躁的是,很多问题供应商还能跟你东拉西扯,改善进展缓慢,交货问题不断。笔者收集了P_化金板保质期

随便推点

tar包安装vsftpd_vsftpd下载tar.gz-程序员宅基地

文章浏览阅读5.5k次。由于之前使用的vsftpd版本是vsftpd-2.2.2-24.el6.x86_64,被扫描出来存在安全漏洞,需要进行版本升级,查看服务器的系统信息:cat /etc/issue或者cat /etc/redhat-release或者head -n 1 /etc/issue是centos6.5,在http://rpmfind.net/查找vsftpd的rpm包,发现只有..._vsftpd下载tar.gz

想换4K显示器了?那你搞懂啥是4K了吗?_4k显示器作用-程序员宅基地

文章浏览阅读3.3k次。前言我们在科技资讯以及电脑显示器、数字电视等电子产品的宣传语中,经常能够看见4K的字样。最近,B站(哔哩哔哩)升级了HTML5播放器和视频云等相关服务,为广大用户提供了超高清(UHD: Ultra High Definition)的视频体验。借此机会,我们向大家科普下4K分辨率的相关知识,同时解答下大家可能会遇到的相关疑问。什么是4K?4K分辨率,或简称4K(Kilo),是指显示设备或显示内容的水平分辨率在4000像素左右。达到4K分辨率的视频,我们称之为4K视频。常见的4K分辨率有3840 × 21_4k显示器作用

张宇/王式安 考研数学 概率论争议题 【Python验证版】_1987概率论争议题王式安-程序员宅基地

文章浏览阅读4.4k次,点赞6次,收藏5次。张宇/王式安 概率论争议题 【Python版】之前写过一篇关于这道题的Java验证版,但是当时的Java代码比较混乱,在这里补充一个Python代码。同样地,由于技术水平限制,这篇代码也存在很大的局限性,欢迎交流指正~原文链接: 张宇/王式安 考研数学 概率论争议题 【Java验证版】一、题目本题为1987年实考题设两箱内装有同种零件,第一箱装50件,其中有10 件一等品,第..._1987概率论争议题王式安

Windows 如何查看tensorflow、Keras、CUDA版本号_怎么看keras和tensorflow安装好了没-程序员宅基地

文章浏览阅读2.5k次。Windows 如何查看tensorflow、Keras、CUDA,cuDNN版本号1、查看tensorflow和keras版本号进入cmd,执行python,然后执行下方命令:(1)查看tensorflow版本号>>> import tensorflow as tf>>> tf.__version__'1.0.1'(2)查看keras版本号>>> import keras>>> print keras.__vers_怎么看keras和tensorflow安装好了没

vscode typescript插件_Figma 插件开发 101-程序员宅基地

文章浏览阅读578次。预备知识Figma 插件开发本质上是 web 开发,你需要了解基础的 web 开发知识,比如 HTML、CSS、JavaScript。当然,如果要开发一些功能复杂的插件,也许你需要用到一些更高级的工具,比如 TypeScript、Webpack、React 等,但这些对于入门来说不是必要的。不过,要完成本教程,你需要掌握 TypeScript……的安装。如果还没有对最基本的 HCJ(HTML,CS..._figma for vs code

使用Anaconda安装指定版本的Python环境_conda查看可以安装的python版本-程序员宅基地

文章浏览阅读1.4w次,点赞6次,收藏17次。首先确保你的系统里已经安装了Conda,打开CMD窗口,执行命令:conda --version查看你的系统当前已有的Python环境,执行命令:conda info --envs,从图中我们看到,我的机器里有两个版本的Python环境现在,我想添加一个Python3.3的环境,执行命令:conda create --name python33 python=3.3,命令中我制定了环境名称是python33,指定了Python版本是3.3,执行命令后,Conda会自动下载最新版的Pyth.._conda查看可以安装的python版本