先看效果图吧,可能有点小缺陷

怎么取消通知都取消不了,有哪位大神可以给我解释一下啊

MainActivity:

package com.example.notificationapp;import android.net.Uri;
import android.os.Bundle;
import android.os.Handler;
import android.os.Message;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.content.res.Resources.NotFoundException;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.view.Menu;
import android.view.View;
import android.widget.RemoteViews;
import android.widget.RemoteViews.RemoteView;public class MainActivity extends Activity {private int num;private Notification.Builder  builder;//获取Notification.Builder对象private Notification notify;//创建Notification对象private NotificationManager nm;//获取NotificationManager对象//发送通知public void mySet(View view) {// TODO Auto-generated method stub//创建内部类对象builder=new Notification.Builder(this);//设置通知的属性builder.setSmallIcon(R.drawable.ic_launcher);builder.setContentText("恭喜你中奖了!!中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了中奖了");builder.setContentTitle("新消息");//大图标Bitmap b=BitmapFactory.decodeResource(getResources(), R.drawable.domob_exit_on);builder.setLargeIcon(b);//设置通知的消息builder.setContentInfo("0%");//提示有消息来了builder.setTicker("新通知新通知");//设置时间为系统时间builder.setWhen(System.currentTimeMillis());//设置通知的点击事件Intent intent=new Intent(this,OtherActivity.class);PendingIntent pi=PendingIntent.getActivity(this, 0, intent, PendingIntent.FLAG_UPDATE_CURRENT);builder.setContentIntent(pi);//设置通知点击之后自动取消builder.setAutoCancel(true);/*//设置默认提示音builder.setDefaults(Notification.DEFAULT_SOUND);*///设置自定义声音builder.setSound(Uri.parse("file:///sdcard/apple.mp3"));//设置自定义的震动builder.setVibrate(new long[]{1000,3000,2000,3000});//设置自定义的闪屏builder.setLights(1000, 3000, 5000);//设置进度样式条的通知/*builder.setProgress(0, 0, true);*/builder.setProgress(100,num, false);     //创建通知对象        notify=builder.build();//第一个参数是标识符,表明是哪个nm.notify(10, notify);      //用子线程更新进度条new Thread(){public void run() {while(num<=100){try {sleep(1000);} catch (InterruptedException e) {// TODO Auto-generated catch blocke.printStackTrace();}num++;Message msg=new Message();msg.arg1=num;msg.what=0x123;handler.sendMessage(msg);}}}.start();     }   private Handler handler=new Handler(){public void handleMessage(Message msg) {if(msg.what==0x123){               builder.setProgress(100, msg.arg1, false);builder.setContentInfo(num+"%");notify=builder.build();nm.notify(10,notify);}}};//取消通知public void myCancel(View view) {// TODO Auto-generated method stubnm.cancel(10);}//发送大视图通知public void mybig(View view) {// TODO Auto-generated method stubNotification notify=new Notification.Builder(this).setTicker("新通知新通知").setContentTitle("新闻").setSmallIcon(R.drawable.ic_launcher).setContentInfo("888").setStyle(new Notification.InboxStyle().addLine("中奖了!!!!!").addLine("你来了啊啊").addLine("我来了哈哈").addLine("来吧来吧").setSummaryText("www.baidu.com"))        .build();nm.notify(11, notify);}//自定义View通知public void myview(View view) {// TODO Auto-generated method stub//第一个参数为包的名称,第二个为layout资源的Id。RemoteViews v =new RemoteViews(getPackageName(), R.layout.activity_view);v.setTextViewText(R.id.text, "今日头条"); v.setImageViewResource(R.id.img, R.drawable.domob_exit_on);Notification notify=new Notification.Builder(this).setSmallIcon(R.drawable.domob_exit_on).setTicker("新通知新通知").setContent(v).build();nm.notify(12,notify);}@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);nm=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);setContentView(R.layout.activity_main);}
}

布局文件就不贴了,就几个Button。。

想看源代码的这里

Android之手机通知栏Notification的使用(二)相关推荐

  1. Delphi 监听安卓(Android)手机通知栏信息

    Delphi 监听安卓(Android)手机通知栏信息 因为一些业务需要,我们有时候需要知道手机通知栏显示的信息,然后根据这些信息去处理一些相应的业务逻辑.如:自动监听收到的短信验证码,提取后自动填写 ...

  2. Android发送通知——通知栏(Notification)

    Android发送通知--通知栏(Notification) 通知是指 Android 在您应用的界面之外显示的消息,旨在向用户提供提醒.来自他人的通信信息或您应用中的其他实时信息.在发出一条通知后, ...

  3. Android开发之通知栏Notification详解

    Notification的用法  --- 状态栏通知  发送一个状态栏通知必须的两个类:            1. NotificationManager   --- 状态栏通知的管理类,负责发通知 ...

  4. 基于android的手机安全卫士的实现心得二

    关于android的第二大组件service Service是Android提供一个允许长时间留驻后台的一个组件,最常见的 用法就是做轮询操作!或者想在后台做一些事情,比如后台下载更新! Activi ...

  5. 【Android-】android 8.0 通知栏Notification适配、自定义铃声及其channel介绍

    android 8.0 通知栏Notification适配以及自定义铃声 一.8.0手机 通知栏适配 二.自定义铃声所遇到的坑 三.Android O Preview 之 通知渠道(Notificat ...

  6. android 通知 广告,解决三星/小米等Android手机通知栏推送广告的问题

    三星和小米都是使用安卓系统的手机,有时候突然在手机通知栏弹出很多的广告,而且广告是不定时的弹出,你把消息清理掉之后,过段时间还是会弹出广告. 而且下载的都是一些乱七八糟的东西,对手机没有什么用处,想完 ...

  7. android 系统时间改变颜色吗,安卓手机通知栏时间、日期、通知颜色修改教程

    智能手机使用久了,难免产生视觉疲劳,很多朋友通过不断更新桌面或者刷机来达到不同的视觉效果,不过以上方法通常比较复杂,并且使用次数多了也容易失去新鲜感,下面本文也是涉及到手机界面美化方面,主要介绍下An ...

  8. Android 8.0+通知栏(Notification)适配详解,判断通知权限是否打开,并跳转至通知管理页面

    前不久因为API26(Android 8.0)以上的设备无法显示通知栏,所以网上查阅了比较多了资料,得出结论,API26以后引入了通知渠道这么个东西,然后就写了一篇问题对应的博文:Android 8. ...

  9. Android 通知栏Notification

    Android 通知栏Notification 在android的应用层中,涉及到很多应用框架,例如:Service框架,Activity管理机制,Broadcast机制,对话框框架,标题栏框架,状态 ...

最新文章

  1. JS中的call()方法和apply()方法用法总结
  2. 监听js变量的变化_Node.js从零开始——事件、系统和流
  3. 打印Java数组最优雅的方式
  4. 【Java】机票分类打折程序的Swing实现
  5. secureCRT及secureFX安装注册和secureFX中出现中文乱码的处理方式
  6. win7开启ftp被动模式_FTP服务器在Linux系统上的搭建
  7. HDU-4578 Transformation 线段树(两种方法)
  8. C++设计模式之Strategy(策略模式)
  9. bin 文件分析(转)
  10. DSP6678核间通信
  11. python 爬虫图片打不开_爬虫下载图片打不开是什么原因,最新简易爬虫教程
  12. canvas绘制出货单
  13. Markdown语法图文全面详解(10分钟学会)
  14. Python网页应用开发神器fac框架正式发布
  15. MATLAB 剔除异常点
  16. 记录某学校热水卡安全性研究
  17. 动态管理电源功能 计算机 中标,东北石油大学省创新基地奖励金设备仪器采购第四标段:黑龙江省油气田控制与动态监测实验室中标公告2020-11-11...
  18. GPL和LGPL协议
  19. FSK调制解调过程的matlab仿真
  20. HDFS 数据块损坏

热门文章

  1. Java map转object
  2. c语言头文件和源文件为什么分开,C语言中为什么要头文件和源文件分开写
  3. pta5-4 6174黑洞
  4. 实现股权激励的目的和作用
  5. [总结:]BZOJ水题70题留念
  6. 做网站,赚钱未动,兴趣先行
  7. 嘟嘟连忙上前非常有礼貌的说
  8. 管理节点连接不上sql节点_连接大运会主场馆和双机场 成都东西向“天府大道”迎来重要节点开工...
  9. linux开机dracut界面_CentOS启动报错dracut Warning: Boot has failed的解决方法
  10. 偶然看见了,就收录下来,作为对自己的励志吧!