通知栏,对话框,Toast是我们接触的三个提示框,通知栏是在系统的应用com.adnroid.systemui当中的

接触的几个Manger,getSystemService()方法得到的,参数:

ACTIVITY_SERVICE,LAYOUT_INFLATER_SERVIC,TELEPHONY_SERVICE,

获取NotificationManager对象,通过getSystemService()方法,参数:NOTIFICATION_SERVICE

调用NotificationManager对象的notify()方法,发送通知,参数:id是0,Notification对象

获取Builder对象,通过new Notification.Builder()

调用Builder对象的setContentTitle() setContentText() setSmallIcon()  setLargeIcon()

setLargeIcon的参数:Bitmap对象,BitmapFactory.decodeResource(),参数:getResoure(),资源id

调用Builder对象的build()方法,得到Notification对象

此时会报一些错误,最低兼容版本是11,我们直接加一个注释屏蔽掉错误”NewApi”

在低版本的手机上,上面的代码会出错

获取Notification对象,通过new出来,参数:资源id,文本,时间

调用Notification对象的setLastEventInfo()方法,设置最新消息,参数:上下文,文本,PendingIntent对象

设置Notification对象的flags属性为Notification.FLAG_AUTO_CANCEL 自动关闭

PendingIntent对象,通过PendingIntent的getActivity()方法,获取到PendingIntent对象

6.0 版本移除了Notification.setLatestEventInfo()方法

流氓软件会使用这来弹广告,我们可以进系统应用设置,勾掉显示通知

package com.tsh.tshnotification;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.graphics.BitmapFactory;
import android.os.Bundle;
import android.view.View; public class MainActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//显示通知栏
@SuppressLint("NewApi")
public void click(View v){
NotificationManager nm=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
Notification.Builder builder=new Notification.Builder(this);
Notification notification=builder.setContentTitle("提示")
.setContentText("我是陶士涵")
.setSmallIcon(R.drawable.ic_launcher)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
.build(); nm.notify(0, notification);
}
}

最新文章

  1. 应用程序框架实战三十三:表现层及ASP.NET MVC介绍(二)
  2. stopping NetworkManager daemon failed
  3. MSIL Emit AOP
  4. 根据用户IP获得所在城市
  5. linux下vim如何配置markdown插件
  6. iOS开发-状态模式
  7. [转] HashMap的工作原理
  8. Recovery启动流程(3)--recovery.cpp分析
  9. android 获取IMEI号
  10. 代码动态创建checkbox
  11. PHP5 GD库生成图形验证码(汉字)
  12. visual studio 2012 update3
  13. CSS预处理器实践之Sass、Less比较
  14. JavaScript 扫描枪使用(一)
  15. Java中Date日期字符串格式的各种转换
  16. Build path contains duplicate entry
  17. 移动端开发底部元素margin-bottom失效解决办法
  18. vue/axios请求拦截
  19. Web页面执行shell命令
  20. Web界面实现数据库增删改查过程

热门文章

  1. qhfl-7 结算中心
  2. 美团codeM预赛A轮 倒水
  3. lucene的suggest(搜索提示功能的实现)
  4. linux 修改用户密码的几种方法
  5. String、StringBuffer、StringBuild的区别
  6. electron 使用 node-ffi 调用 C++ 动态链接库(DLL)
  7. Android开发工程师文集-1 小时学会SQLite
  8. struts2框架学习笔记2:配置详解
  9. [CocoaPods]故障排除
  10. MySQL:索引