- 浏览: 161600 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 1143ImageView的scaleType属性中各个值的含 ... -
启动多个名字相同的Service
2013-06-18 10:48 2521如果想在多个App中启动JAR包中相同的Service可以在 ... -
Android GestureDetector方法详解
2013-02-04 11:00 20858为了加强点击、 ... -
Android开发之InstanceState详解
2013-01-11 11:34 1485本文介绍Android中关于Act ... -
Android开机自启动
2012-09-27 11:35 1191android中的开机自启动 and ... -
Android中的Menu点滴记录
2012-09-26 17:14 8314菜单是许多应用程序不可或缺的一部分,Andr ... -
Android中的SharedPreferences
2012-08-28 13:53 3506对于软件配置参数的保存,如果是windows软件通常我们会 ... -
j2me的httpConnection 访问网络
2012-08-08 15:36 1751首先是me下的http连接 ... -
android中popupwindow的点滴
2012-04-17 16:10 11854java类: package com.tony.Po ... -
Android AsyncTas开发
2012-03-12 21:27 1316Android的AsyncTask比Handl ... -
关于SQLite数据库的那些事儿
2012-02-28 17:36 2590一、基础知识 在Android平台上,集成了一个嵌入 ... -
requestWindowFeature()的应用
2012-01-12 12:17 2151我们在开发程序是经常会需要软件全屏显示、自定义标题(使用 ... -
Android Service 优先级
2012-01-12 10:51 2460Android 系统对于内存管理有自己的一套方法,为了保障系 ... -
Android中解析JSON(一)
2011-12-30 10:55 3985什么是JSON? 1.JSON:Javascript ... -
详细解析Java中抽象类和接口的区别
2011-12-22 10:39 1078在Java语言中, abstract c ... -
SoftReference<T>
2011-12-21 11:10 1167类 SoftReference<T> ... -
EditText的属性
2011-12-14 14:51 1165本文主要研究一下EditText的属性 and ... -
JAVA代码规范那些事
2011-12-01 15:47 1752Java开发中所要遵守的编码规范大体上有如下7点。命 ... -
Android中调用系统所装的软件打开文件
2011-11-18 15:07 8734在应用中如何调用系统所装的软件打开一个文件,这是我们经常碰到的 ...
相关推荐
总之,“android Notification通知消息学习(NotificationManager)”这篇博客很可能是对Android通知机制的全面讲解,包括理论知识和实践技巧,对于希望提升Android应用用户体验的开发者来说是一份有价值的资源。...
总的来说,`NotificationManager`和`Notification`是Android通知系统的核心组件。开发者通过它们能够创建具有丰富交互和自定义特性的通知,为用户提供及时的信息反馈。正确理解和使用这两个类对于开发高质量的...
在Android系统中,Notification是一种重要的用户界面元素,用于在状态栏显示应用的提醒或消息。当用户无法直接与应用交互时,例如手机锁屏或在其他应用中,Notification可以帮助用户了解应用的状态并进行相应的操作...
在Android系统中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示消息,即使应用在后台运行也能提醒用户有新的活动或者信息。本文将深入探讨`Android 之 Notification 通知消息`的相关知识点,包括...
在Android系统中,`Notification`是开发者用于向用户展示非交互式信息的重要工具,它通常出现在状态栏中,用户可以通过下拉通知栏查看并交互。`Notification`可以在应用不处于前台运行时,依然向用户传达重要的消息...
这个"Notification_Test"压缩包中的代码应该包含了以上步骤的实现,你可以下载并运行来深入理解Android通知的工作原理。通过实践,你将能够熟练地在自己的应用中集成通知功能,提供更好的用户体验。同时,还可以...
在Android开发中,状态栏通知(Notification)是与用户交互的重要方式,即使应用在后台运行,也能通过通知向用户传达信息。本篇文章将详细介绍如何实现Android状态栏通知的默认形式以及自定义设置。 首先,创建默认...
1. **理解Android通知系统** Android的通知系统是通过Notification类来构建和管理的。Notification对象包含了通知的所有信息,如标题、内容、图标以及附加动作。这些信息会被展示在系统的通知栏中。 2. **创建...
在Android系统中,Notification是应用与用户交互的重要方式之一,特别是在后台运行时,它能向用户提供关键信息。常驻Notification是指即使用户关闭了应用程序,Notification仍然保留在通知栏,持续提醒用户有未处理...
总之,"Android高级应用源码-实现Notification的通知栏常驻.rar"这个资源对于想要深入研究Android通知和后台服务的开发者来说是宝贵的资料。通过学习和实践这些代码,开发者可以更好地理解和掌握Android系统的高级...
- 在Android系统中,Notification通过NotificationManager服务进行管理,应用通过该服务发送和取消通知。 - 通知会出现在状态栏,当用户下拉时显示详细信息,点击可以启动对应的Activity或者执行预定义的动作。 2...
在Android系统中,通知栏(Notification)是一种向用户传达应用信息的重要方式,它可以在任何时候提醒用户,即使应用在后台运行或者被关闭。本教程将详细讲解如何在Android应用中使用Notification,以创建有效的手机...
在Android开发中,状态栏通知(Notification)是与用户交互的一种重要方式,它可以在应用程序后台运行时向用户提供信息。此压缩包"Android高级应用源码-状态栏通知小图标,notification通知.zip"显然包含了关于如何...
在Android开发中,`Notification`、`Service`和`BroadcastReceiver`是三个核心组件,它们在许多场景下都有着重要的作用,特别是在实现应用后台运行、实时更新等任务时。本项目"Android notification+Service实时更新...
在Android开发中,自定义通知栏Notification是一种提升用户体验的重要手段。...这个项目不仅提供了基本的自定义通知功能,也可能包含了一些进阶技巧和优化措施,对深入理解Android通知系统非常有帮助。
在本篇文章中,我们将深入探讨`Notification`及其相关类,如`NotificationManager`和`Notification.Builder`,如何在Android应用程序中有效地使用它们。 首先,`Notification`是Android系统提供的一个类,用于在...
总结来说,获取Android通知状态涉及理解通知的生命周期、监听通知事件以及处理用户交互。通过`NotificationManager`、`NotificationListenerService`和`NotificationCompat.Builder`,开发者可以全面控制应用的通知...
在本文中,我们将深入探讨如何在Android中创建和使用Notification,以及如何实现普通通知和自定义视图通知。 首先,创建一个Notification需要以下步骤: 1. 创建Notification.Builder对象:这是构建Notification的...
本篇文章将详细介绍如何使用Delphi来创建单行和多行的Android通知消息。 首先,我们需要了解Android的通知系统。Android的通知是通过Notification类来创建和管理的,它包含标题、内容、图标、声音等元素。在Delphi...
在Android系统中,`NotificationManager`是用于向用户显示通知的关键组件。通知是应用程序与用户交互的一种非侵入性方式,通常在状态栏显示,允许用户在不离开当前活动的情况下了解应用的最新信息或接收提醒。这篇...