public class ActivityMainNotification extends Activity {
 //为Notification添加一个标识的ID.
 private static int NOTIFICATIONS_ID = 1;//R.layout.activity_notification;
 //为Notification添加一个管理的对象NotificationManager
 private NotificationManager mNotificationManager;

@Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_notification);

Button button;
    //使用NotificationManager的getSystemService(NOTIFICATION_SERVICE)来申明(Notification)
  mNotificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);

button = (Button) findViewById(R.id.sun_1);
  button.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
    //这里使用了自定的方法,为了实现Notification.
    setWeather("晴空万里", "天气预报", "晴空万里", R.drawable.sun);
   }
  });

button = (Button) findViewById(R.id.cloudy_1);
  button.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
    setWeather("阴云密布", "天气预报", "阴云密布", R.drawable.cloudy);
   }
  });

button = (Button) findViewById(R.id.rain_1);
  button.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
    setWeather("大雨连绵", "天气预报", "大雨连绵", R.drawable.rain);
   }
  });

button = (Button) findViewById(R.id.defaultSound);
  button.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
    setDefault(Notification.DEFAULT_SOUND);
   }
  });

button = (Button) findViewById(R.id.defaultVibrate);
  button.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
    setDefault(Notification.DEFAULT_VIBRATE);
   }
  });

button = (Button) findViewById(R.id.defaultAll);
  button.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
    setDefault(Notification.DEFAULT_ALL);
   }
  });

button = (Button) findViewById(R.id.clear);
  button.setOnClickListener(new Button.OnClickListener() {
   public void onClick(View v) {
    mNotificationManager.cancel(NOTIFICATIONS_ID);
   }
  });

}

private void setWeather(String tickerText, String title, String content,
   int drawable) {
         /*第一个参数要显示的图片id
          * 第二个参数为显示的文本
          * 第三个参数为Notification显示的时间,一般为立即显示
          */
  Notification notification = new Notification(drawable, tickerText,
    System.currentTimeMillis());
   //创建一个动态的intent,为了识别点击的事件处理
  //第一个参数是上下文
  //第二个参数是事件的序列参数
  //第三个参数是intent事件响应
  //第四个参数是为intent做序列标记
  PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
    new Intent(this, ActivityMain.class), 0);
  //setLatestEventInfo的第一个参数为上下文
  //第二个参数为notification标题
  //第三个参数为notification内容
  //第四个参数为intent处理
  notification.setLatestEventInfo(this, title, content, contentIntent);
  //通过NotificationManager的对象来管理notification
  mNotificationManager.notify(NOTIFICATIONS_ID, notification);
 }

private void setDefault(int defaults) {

PendingIntent contentIntent = PendingIntent.getActivity(this, 0,
    new Intent(this, ActivityMain.class), 0);

String title = "天气预报";
  String content = "晴空万里";

final Notification notification = new Notification(R.drawable.sun,
    content, System.currentTimeMillis());
       
  notification.setLatestEventInfo(this, title, content, contentIntent);
  //为Notification设置表现形式
  notification.defaults = defaults;

mNotificationManager.notify(NOTIFICATIONS_ID, notification);
 }
}

转载于:https://www.cnblogs.com/WangWeiDa/archive/2011/10/18/2216062.html

Notification的使用,以及他的监听方法相关推荐

  1. html监听页面关闭事件,JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...

  2. html5中页面关闭事件监听,JS针对浏览器窗口关闭事件的监听方法集锦

    本文实例总结了JS针对浏览器窗口关闭事件的监听方法.分享给大家供大家参考,具体如下: 方式一:(适用于IE浏览器,而且刷新不提示,只在点击浏览器关闭按钮的时候提示) window.οnbefοreun ...

  3. 安卓Android绘制一个信息填写页面,使用了三种事件监听方法

    先上效果图片: 第一种,匿名内部类 //设置提交按钮监听submitButton.setOnClickListener(new View.OnClickListener() {@Overridepub ...

  4. jquery对事件的监听方法addEventListener()

    在这个点击事件的监听里,我们可以获取鼠标的点击坐标 (function($){window.addEventListener("click",function(evt){for(v ...

  5. iframe和父窗体之间的互相监听方法

    例如:一个父窗体点击了个提交表单事件,同时要将提交的服务器返回处理结果显示在父窗体的iframe页面中,父窗体通过获得iframe中返回的结果来处理父窗体的部分数据.此时就要监听iframe的内容变更 ...

  6. Linux服务器oracle数据库重启服务、重启监听方法,oracle数据库sysdba管理员登录方法

    数据库重启服务.监听全套流程如下: 注: 如果是修改数据库的一些参数.配置文件只需重启数据库服务即可. 注: 如果是修改数据库 ip.端口号.实例名,只需要重启数据库监听即可. 首先通过 su - o ...

  7. android 控件监听方法,Android界面控件(2)—注册点击事件监听器

    Button和ImageButton 1.添加控件 1.打开Android项目下,res文件夹中的 layout 的 activity_main.xml 文件 2.可视化界面拖拽添加或修改 xml 文 ...

  8. 键盘出现与消失的监听方法

    使用广播通知,在viewWillAppear时注册键盘打开和关闭的事件监听,在viewWilldisappear时解除键盘打开和关闭的事件监听.请注意viewWillAppear和viewWilldi ...

  9. Android内部类监听和多对象监听方法

    工程目录: 一.内部类监听 MainActivity: package com.example.demo_two;import androidx.appcompat.app.AppCompatActi ...

  10. javaWeb:相关监听方法汇总

    JavaWeb监听器 三大组件: l  Servlet l  Listener l  Filter Listener:监听器 初次相见:AWT 二次相见:SAX 监听器: l  它是一个接口,内容由我 ...

最新文章

  1. Java颜色互换_java – 如何慢慢地将对象颜色从一个变为...
  2. Ubuntu用命令行发邮件mutt,报警发短信通知
  3. GCD LCM 欧几里得算法 扩展欧几里得算法
  4. tdms打开闪退问题
  5. 【华为云技术分享】【我的物联网成长记20】物联网智慧路灯应用代码解析(下)
  6. java webservice soap请求_使用Java对WebService的SOAP请求
  7. 今年因为疫情很多信用卡逾期,结果会怎么样?
  8. 3 个 Zabbix常见问题的处理方法
  9. SpringMVC原理
  10. 《生物化学与分子生物学》----蛋白质----听课笔记(四)
  11. 多个考拉海购的商品主图如何一键批量保存
  12. dns被劫持有什么现象?DNS是什么 dns被劫持了如何解决
  13. 红帽linux云计算提供商,神州数码获得红帽云计算及服务供应商认证
  14. 读写Excel工具类ExcelUtil
  15. ASP.NET MVC 框架!
  16. 买云服务器推荐哪一个?国内知道有腾讯云、阿里云等,不知道如何选择,并且是否有优惠?
  17. Redis——redis配置与优化
  18. 【leetcode】1104. Path In Zigzag Labelled Binary Tree
  19. 对各大预训练语言模型的简单总结和评述(BERT/RoBERTa/ALBERT/ELECTRA/ERNIE/structBERT/SpanBERT...)
  20. mac系统快捷键大全详细介绍(全部)

热门文章

  1. 玩转VIM编辑器-vim的命令行
  2. SharePoint:扩展DVWP - 第4部分:将DVWP操作链接转为按钮
  3. B树与B+树 有动画
  4. 可视化概念思维导图软件 MindMapper 17 Arena 完美汉化开心版
  5. 解决问题--Maven,IDEA项目External Libraries下只有jdk没有maven依赖
  6. 比Redis快50倍的中间件,为啥这么快?
  7. IBM大中华区总架构师:话说程序员的职业生涯
  8. 突发!四川长宁发生6.0级地震
  9. 再也回不去的 GitHub。。。
  10. 送给程序员们的经典电子书大礼包