- 浏览: 159904 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
java菜鸟浩浩:
public class MainActivitytwo ex ...
Android GestureDetector方法详解 -
qq36246172:
Android GestureDetector方法详解 -
SilEnt怪兽:
我想打开 docx文件 可是 没有 ".docx&q ...
Android中调用系统所装的软件打开文件 -
Satur6ay:
最后注意中的第二点的意思是在Activity中的onTouch ...
Android GestureDetector方法详解 -
supperman:
在View中设置手势有两点需要注意:1:View必须设置lon ...
Android GestureDetector方法详解
Android中的消息通知(NotificationManager和Notification)
下面来谈谈notification,这个notification一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提示用户处理这个通知,这时手从上方滑动状态栏就可以展开并处理这个快讯。已添加的Notification.Builder,使其更容易构建通知。notification是一种让你的应用程序在没有开启情况下或在后台运行警示用户。它是看不见的程序组件(Broadcast Receiver,Service和不活跃的Activity)警示用户有需要注意的事件发生的最好途径。
先来区分以下状态栏和状态条的区别:
1、状态条就是手机屏幕最上方的一个条形状的区域;
在状态条有好多信息量:比如usb连接图标,手机信号图标,电池电量图标,时间图标等等;
2、状态栏就是手从状态条滑下来的可以伸缩的view;
在状态栏中一般有两类(使用FLAG_标记):
(1)正在进行的程序;
(2)是通知事件;
快速创建一个Notification的步骤简单可以分为以下四步:
第一步:通过getSystemService()方法得到NotificationManager对象;
nManager = (NotificationManager) this.getSystemService(service);
第二步:对Notification的一些属性进行设置比如:内容,图标,标题,相应notification的动作进行处理等等;
notification.icon = R.drawable.ic_launcher;// 设置通知的图标 notification.tickerText = tickerText; // 显示在状态栏中的文字 notification.when = when; // 设置来通知时的时间 notification.sound = Uri.parse("android.resource://com.sun.alex/raw/dida"); // 自定义声音 notification.flags = Notification.FLAG_NO_CLEAR; // 点击清除按钮时就会清除消息通知,但是点击通知栏的通知时不会消失 notification.flags = Notification.FLAG_ONGOING_EVENT; // 点击清除按钮不会清除消息通知,可以用来表示在正在运行 notification.flags |= Notification.FLAG_AUTO_CANCEL; // 点击清除按钮或点击通知后会自动消失 notification.flags |= Notification.FLAG_INSISTENT; // 一直进行,比如音乐一直播放,知道用户响应 notification.defaults = Notification.DEFAULT_SOUND; // 调用系统自带声音 notification.defaults = Notification.DEFAULT_VIBRATE;// 设置默认震动 notification.defaults = Notification.DEFAULT_ALL; // 设置铃声震动 notification.defaults = Notification.DEFAULT_ALL; // 把所有的属性设置成默认
第三步:通过NotificationManager对象的notify()方法来执行一个notification的消息;
nManager.notify(ID, notification);
第四步:通过NotificationManager对象的cancel()方法来取消一个notificatioin的消息;
nManager.cancel(ID);
Notification.build构造Notification方法介绍:
void setLatestEventInfo(Context context , CharSequencecontentTitle,CharSequence contentText,PendingIntent contentIntent)
功能: 显示在拉伸状态栏中的Notification属性,点击后将发送PendingIntent对象
参数: context 上下文环境
contentTitle 状态栏中的大标题
contentText 状态栏中的小标题
contentIntent 点击后将发送PendingIntent对象
说明:要是在Notification中加入图标,在状态栏和状态条中显示图标一定要用这个方法,否则报错!
NotificationManager类的常用方法:
通过获取系统服务来获取该对象:
NotificationManager mNotificationManager = (NotificationManager)getSystemService(Context.NOTIFICATION_SERVICE) ;
NotificationManager常用方法介绍:
public void cancelAll() 移除所有通知 (只是针对当前Context下的Notification)
public void cancel(int id) 移除标记为id的通知 (只是针对当前Context下的所有Notification)
public void notify(String tag ,int id, Notification notification) 将通知加入状态栏, 标签为tag,标记为id
public void notify(int id, Notification notification) 将通知加入状态栏,,标记为id
package com.sun.alex; import android.app.Activity; import android.app.Notification; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.Intent; import android.net.Uri; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class NotificationActivity extends Activity { private Button sendBtn, cancelBtn; private Notification notification; private NotificationManager nManager; private Intent intent; private PendingIntent pIntent; // Notification的标示ID private static final int ID = 1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); sendBtn = (Button) this.findViewById(R.id.send); cancelBtn = (Button) this.findViewById(R.id.cancel); String service = NOTIFICATION_SERVICE; nManager = (NotificationManager) this.getSystemService(service); notification = new Notification(); String tickerText = "测试Notifaction"; // 通知提示 // 显示时间 long when = System.currentTimeMillis(); notification.icon = R.drawable.ic_launcher;// 设置通知的图标 notification.tickerText = tickerText; // 显示在状态栏中的文字 notification.when = when; // 设置来通知时的时间 notification.sound = Uri.parse("android.resource://com.sun.alex/raw/dida"); // 自定义声音 notification.flags = Notification.FLAG_NO_CLEAR; // 点击清除按钮时就会清除消息通知,但是点击通知栏的通知时不会消失 notification.flags = Notification.FLAG_ONGOING_EVENT; // 点击清除按钮不会清除消息通知,可以用来表示在正在运行 notification.flags |= Notification.FLAG_AUTO_CANCEL; // 点击清除按钮或点击通知后会自动消失 notification.flags |= Notification.FLAG_INSISTENT; // 一直进行,比如音乐一直播放,知道用户响应 notification.defaults = Notification.DEFAULT_SOUND; // 调用系统自带声音 notification.defaults = Notification.DEFAULT_SOUND;// 设置默认铃声 notification.defaults = Notification.DEFAULT_VIBRATE;// 设置默认震动 notification.defaults = Notification.DEFAULT_ALL; // 设置铃声震动 notification.defaults = Notification.DEFAULT_ALL; // 把所有的属性设置成默认 sendBtn.setOnClickListener(sendClickListener); cancelBtn.setOnClickListener(cancelClickListener); } private OnClickListener sendClickListener = new OnClickListener() { @Override public void onClick(View v) { // 单击通知后会跳转到NotificationResult类 intent = new Intent(NotificationActivity.this, NotificationResult.class); // 获取PendingIntent,点击时发送该Intent pIntent = PendingIntent.getActivity(NotificationActivity.this, 0, intent, 0); // 设置通知的标题和内容 notification.setLatestEventInfo(NotificationActivity.this, "标题", "内容", pIntent); // 发出通知 nManager.notify(ID, notification); } }; private OnClickListener cancelClickListener = new OnClickListener() { @Override public void onClick(View v) { // 取消通知 nManager.cancel(ID); } }; }
发表评论
-
android 截屏
2016-07-20 15:26 0View contentView = mView.findV ... -
ImageView的scaleType属性
2016-03-29 16:12 1105ImageView的scaleType属性中各个值的含 ... -
启动多个名字相同的Service
2013-06-18 10:48 2439如果想在多个App中启动JAR包中相同的Service可以在 ... -
Android GestureDetector方法详解
2013-02-04 11:00 20777为了加强点击、 ... -
Android开发之InstanceState详解
2013-01-11 11:34 1399本文介绍Android中关于Act ... -
Android开机自启动
2012-09-27 11:35 1154android中的开机自启动 and ... -
Android中的Menu点滴记录
2012-09-26 17:14 8232菜单是许多应用程序不可或缺的一部分,Andr ... -
Android中的SharedPreferences
2012-08-28 13:53 3466对于软件配置参数的保存,如果是windows软件通常我们会 ... -
j2me的httpConnection 访问网络
2012-08-08 15:36 1715首先是me下的http连接 ... -
android中popupwindow的点滴
2012-04-17 16:10 11800java类: package com.tony.Po ... -
Android AsyncTas开发
2012-03-12 21:27 1286Android的AsyncTask比Handl ... -
关于SQLite数据库的那些事儿
2012-02-28 17:36 2538一、基础知识 在Android平台上,集成了一个嵌入 ... -
requestWindowFeature()的应用
2012-01-12 12:17 2111我们在开发程序是经常会需要软件全屏显示、自定义标题(使用 ... -
Android Service 优先级
2012-01-12 10:51 2414Android 系统对于内存管理有自己的一套方法,为了保障系 ... -
Android中解析JSON(一)
2011-12-30 10:55 3933什么是JSON? 1.JSON:Javascript ... -
详细解析Java中抽象类和接口的区别
2011-12-22 10:39 1043在Java语言中, abstract c ... -
SoftReference<T>
2011-12-21 11:10 1132类 SoftReference<T> ... -
EditText的属性
2011-12-14 14:51 1094本文主要研究一下EditText的属性 and ... -
JAVA代码规范那些事
2011-12-01 15:47 1701Java开发中所要遵守的编码规范大体上有如下7点。命 ... -
Android中调用系统所装的软件打开文件
2011-11-18 15:07 8563在应用中如何调用系统所装的软件打开一个文件,这是我们经常碰到的 ...
相关推荐
NULL 博文链接:https://forlan.iteye.com/blog/2264722
自学 Android 做的第二十七个 Android 程序,使用了 NotificationManager、Notification 和 Notification.Builder
在Android系统中,发一个状态栏通知还是很方便的。下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类: NotificationManager 、 Notification。 ...
可以设置一条通知,当然可以更新一条通知,我们通过在调用NotificationManager.notify(ID, notification)时所使用的ID来更新它。为了更新你之前发布的通知,你需要更新或者创建一个NotificationCompat.Builder对象,...
要使用消息通知,必须要用到两个类:NotificationManager和Notification,其他NotificationManager的初始化是用getSystemService方法,并且通过notify方法来向android系统发送消息栏通知和显示。效果 :代码: 代码...
本文实例讲解了通知Notification使用方法,此知识点就是用作通知的显示,包括振动、灯光、声音等效果,分享给大家供大家参考,具体内容如下 效果图: MainActivity: import java.io.File; import android....
关于通知Notification相信大家都不陌生了,平时上QQ的时候有消息来了或者有收到了短信,手机顶部就会显示有新消息什么的,就类似这种。今天就稍微记录下几种Notification的用法。3.0以前的通知和3.0以后的通知是有些...
Android也提供了用于处理此类信息的类,他们是Notification和NotificationManager。其中,Notification代表的是具有全局效果的通知;而NotificationManager则是用于发送Notification通知的系统服务。 使用...
在Android系统中,发一个状态栏通知还是很方便的。下面我们就来看一下,怎么发送状态栏通知,状态栏通知又有哪些参数可以设置? 首先,发送一个状态栏通知必须用到两个类:NotificationManager、Notification。 ...
本文主要讲解状态栏通知Notification、NotificationManager,小编觉得非常详细,给大家一个参考,希望对大家学习有所帮助。
Convert JSON to Android Notification. This is very useful for push notification (GCM). Usage Notification notification = Json2Notification.from(context).with(json).notification(); NotificationManager ...
通知栏的运行后效果图如下: 布局文件(activity_main.xml) <?xml version=1.0 encoding=utf-8?> <LinearLayout xmlns:android=http://schemas.android.com/apk/res/android xmlns:tools=...
Android也提供了用于处理这些信息的类,它们是Notification和NotificationManager。其中,Notification代表的是具有全局效果的通知,而NotificationManager则是用于发送Notification通知的系统服务。 使用...
NotificationManager 是状态栏通知的管理类,负责发通知、清除通知等操作。 NotificationManager 是一个系统Service,可通过getSystemService(NOTIFICATION_SERVICE)方法来获取 接下来我想说的是android5.0 后的弹出...
通知(Notification)是Android系统中比较有特色的一个功能。当某个应用程序希望向用户发出一些提示信息,而该应用程序又不在前台运行时,就可以用通知来实现 用法 首先我们需要一个NotificationManager来对通知进行...
///// 第一步:获取NotificationManager NotificationManager nm = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE); ///// 第二步:定义Notification Intent intent = new Intent...
今天看着《第一行代码》,准备实现一下书中所说的notification通知功能。非常简单的代码如下所示 @Override public void onClick(View v) { switch(v.getId()){ case R.id.send_notice: NotificationManager ...
安卓通知栏实现,通过 NotificationManager实现管理 notification ,包括 发送通知和 取消通知;