Android 原生通知Notification 写法
Notification
是个进程间的通讯
手机状态栏的提示.出现在桌面通知栏里,他不在我们的App里,而是由SystemUI进程显示的提示.所以让另外一个系统的进程SystemUI帮我们显示一个通知栏提醒.
不多说上代码
属性配置
<uses-permission android:name="android.permission.VIBRATE" />
主要代码
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
private Button button;
private Button button2;
private NotificationManager notificationManager;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
}
private void initView() {
button = (Button) findViewById(R.id.button);
button.setOnClickListener(this);
button2 = (Button) findViewById(R.id.button2);
button2.setOnClickListener(this);
}
/**
* 让另外一个系统的进程SystemUI帮我们显示一个通知栏提醒
* 进程间的通讯
*
* @param v
*/
@TargetApi(Build.VERSION_CODES.JELLY_BEAN_MR1)
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.button:
//进程间通信.主要是把一个动作交给另外一个应用程序来做的意图,就用PendingIntent包裹一下.
//pendingIntent,可以打开一个四大组件,用其静态方法,get....
//getActivity,1 上下文,2 请求码用不到就为0,3 意图对象,4 指定其点击后的状态标识
Intent intent = new Intent();
intent.setAction(Intent.ACTION_DIAL);
intent.setData(Uri.parse("tel://110"));
// Intent intent = new Intent(this,JumpActivity.class);//跳转到指定的Activity,不用StartActivity.
PendingIntent pendingIntent= PendingIntent.getActivity(this,0,intent,PendingIntent.FLAG_UPDATE_CURRENT);
//获取系统的通知服务,上面的Intent操作就是用户点击通知栏时,自动进入拨号界面,
notificationManager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
//直接new出来,该方式在安卓3.0以后已经过时了
// Notification notification=new Notification();
//使用链式调用的方法,创建Notification对象的同时往里面进行设置,是主流的创建方式,Builder的参数是上下文.
Notification notification = new Notification.Builder(this)
//设置通知栏的标题
.setContentTitle("你中奖啦")
//设置通知栏的通知内容
.setContentText("快来110 去领取!!!")
//设置通知栏的图片(就是通知一来,在显示电量那一行出现的小图标)
.setSmallIcon(R.mipmap.ic_launcher)
//设置通知栏的大图片(就是通知栏拉下来显示的图标)
.setLargeIcon(BitmapFactory.decodeResource(getResources(), R.mipmap.ic_launcher))
//设置通知栏被点击后会执行的意图(比如跳转到指定的activity,比如打电话等等)
.setContentIntent(pendingIntent)
//当通知栏提示被点击执行时,通知栏会消失在桌面,不设置此方法,默认通知栏提示被点击后依然存在.所以必用此方法.
.setAutoCancel(true)
// .setSound(Uri.parse("")) //设置通知栏提示到来时的声音是什么.
//设置当通知栏提示到来时,手机每一次震动的时长.使用此功能记着加权限.<uses-permission android:name="android.permission.VIBRATE"/>
// .setVibrate(new long[]{100,200,300}) //不设置没有震动
// 使用系统默认声音,震动,led灯等设置
// .setDefaults(Notification.DEFAULT_ALL)
.build();
//FLAG_NO_CLEAR 使通知栏提示取消不掉,一直存在. FLAG_Auto_CLEAR 通知栏提示只要被点击一次就不会存在.
notification.flags=Notification.FLAG_NO_CLEAR;
//让通知显示在状态栏里.参数1,给通知起的ID,方便对其单独的操作(比如用cancel把指定通知取消掉) 参数2,就是Notification对象.
notificationManager.notify(1, notification);
break;
case R.id.button2:
//使用NotificationManager对象,取消掉指定int标识的通知提示.
notificationManager.cancel(1);
break;
}
}
}
Android 原生通知Notification 写法相关推荐
- 利用android的通知Notification来实现msn的登录状态
Notification,状态栏.看得出来就是和我们PC机一样,在某一区域有个标志,需要请求它就去点这个标志就可以打开这个程序了. 先来介绍下需要用到的一些属于android下的类:Intent.No ...
- android通知的内容图标都不显示,android状态栏通知Notification如何设置为下拉不显示通知内容和图标...
2013-09-05 回答 根据activity的生命周期,在activity不显示时,会执行onstop函数,所以你在onstop函数(按退出键除外)里面把notification放在通知栏里,再此 ...
- Android发送通知——通知栏(Notification)
Android发送通知--通知栏(Notification) 通知是指 Android 在您应用的界面之外显示的消息,旨在向用户提供提醒.来自他人的通信信息或您应用中的其他实时信息.在发出一条通知后, ...
- android activity 被notification启动,Android通知Notification全面剖析
原标题:Android通知Notification全面剖析 通知 通知是您可以在应用的常规 UI 外部向用户显示的消息.当您告知系统发出通知时,它将先以图标的形式显示在通知区域中.用户可以打开抽屉式通 ...
- android 通知传值,Android消息通知(notification)和PendingIntent传值
Android支持Toast和NotificationManager两种通知方式,前者相当于一个定时关闭的对话框,后者是在状态栏上显示一条消息.Toast和Notification都可以随时取消. T ...
- Android通知——Notification
Android通知--Notification 创建通道 在显示通知之前必须先设置通道,这是必须前提. 可以在此对此通道的通知进行基本的设置,例如是否显示呼吸灯.是否震动.优先级等. 代码大概长这样: ...
- Android学习日记 Notification 通知
Android学习日记 Notification 通知 文章目录 Android学习日记 Notification 通知 前言 使用步骤 总结 前言 下拉状态栏显示的通知功能 使用步骤 代码如下: p ...
- android notification自动消失,Android开发 -- 状态栏通知Notification、NotificationManager详解...
本想自己写一个的,但是看到这篇之后,我想还是转过来吧,实在是非常的详细: 在Android系统中,发一个状态栏通知还是很方便的.下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? ...
- android系统 通知,Android中通知的使用-----Notification详解
Notification -- 通知,是一种让你的应用程序在不使用Activity的情况下警示用户.它是看不见的程序组件(Broadcast Receiver,Service和不活跃的Activity ...
最新文章
- iphone如何信任软件_你还在用大众点评吗?评价软件失去信任还如何活下去
- Ruby的.nil? .empty? .blank? .present?区别
- CH0103最短Hamilton路径 poj2288 Islands and Brigdes【状压DP】
- 洛谷 P 3379 【模板】最近公共祖先(LCA)
- hadoop集群-格式化namenode节点后,从节点的datanode不能启动,或者是datanode启动到主节点上。
- 有关于mysql自增型需要返回id_关于mysql自增id,你需要知道的
- react leaflet_如何使用React Leaflet和Leaflet Gatsby Starter设置自定义Mapbox底图样式
- Python模块:生成随机数模块random
- (一)CentOS Docker 安装
- java pojo 类 怎么写_[转]Java中的POJO类
- 基于Spring的MVC框架设计与实现
- android连接wifi不能上网,手机已经连接wifi但无法上网的详细解决方法
- 2019年山东计算机单招学校,2019年山东单招学校排名前十的有哪些?
- uva 10041 - Vito's Family
- 免费的可视化Web报表工具,JimuReport v1.5.0版本发布
- Svelte入门——Web Components实现跨框架组件复用(二)
- Python用python-docx抓取公众号文章写入word
- SSIS学习之SSIS介绍
- find 搜索关键字并显示文件名
- delist(滴滴delist)
热门文章
- ubuntu linux指南 管理篇,Ubuntu Linux指南:管理篇
- php 验证url,php过滤器filter验证邮箱、url和ip地址等
- keras从入门到放弃(十九)RNN和LSTM
- NeurIPS 2020 | 聚焦自监督学习
- 三味Capsule:矩阵Capsule与EM路由
- 春节期间,你错过了这些开源论文 | Paper + Code 清单
- “Paper + Code”加量豪华套餐 | PaperDaily #04
- web第一节2020.5.11
- 【教程】Jupyter notebook基本使用教程
- asterisk 配置 mysql_Asterisk的配置详解