- 浏览: 1078175 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (202)
- Android (31)
- Eclipse 使用 (14)
- 笔记 (5)
- 杂七杂八 (3)
- Java (18)
- 数据库 (6)
- web (21)
- JavaScript (24)
- Http (1)
- 杂谈 (1)
- JSP & Servlet (5)
- log4j (1)
- Linux (13)
- MS Office (3)
- postgresql (7)
- Tomcat (5)
- windows (4)
- tmp (1)
- Perl (1)
- Struts2 (17)
- JQuery (5)
- HTML5 (3)
- JSLint (2)
- iphone (1)
- ant (2)
- IE (1)
- tcp (1)
- JBoss (4)
- 正则表达式 (2)
- jmeter (1)
- CI (1)
- sonarqube (1)
- junit (1)
- chrome (1)
- mybatis (2)
- mysql (3)
- spring (2)
- maven (1)
最新评论
-
天使建站:
看这里:jquery里和操作数组的相关的:$.merg ...
JQuery 数组 -
lgywindows:
我照你的方法实现了在java中取国际化。谢谢提供!
spring mvc中,如何在 Java 代码里,获取 国际化 内容 -
ylhkaixin:
请教下大神,我转换报告的时候报错:report: [x ...
通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案) -
lemon_yt:
正在找
spring mvc中,如何在 Java 代码里,获取 国际化 内容 -
Rainbow702:
alike222 写道Rainbow702 写道MyDream ...
通过ant来批量执行jmeter脚本,并生成报告(附: 生成报告时报“Content is not allowed in prolog”这个错误的解决方案)
一、 Notification 简介
在 android 系统中,在应用程序可能会遇到几种情况需要通知用户,有的需要用户回应,有的则不需要,例如:
* 当保存文件等事件完成,应该会出现一个小的消息,以确认保存成功。
* 如果应用程序在后台运行,需要用户的注意,应用程序应该创建一个通知,允许用户在他或她的回应提供便利
* 如果应用程序正在执行的工作,用户必须等待(如装载文件),应用程序应该显示进度或等待提醒。
针对这些情况, android 都提供了不同的提醒方式。主要包括下面几种:
1. Toast Notification 是指出现在屏幕上的暂时性通知,这种通知用于传达一些告知类型的消息,短暂停留后会自动消失,无需用户交互。比如告知下载已完成等。 (Toast Noification 这个说法最早是源于一个前 MSN 员工的提法, 因为 MSN 的消息提醒是从底部向上轻弹,形式上很像一个面包从烤面包机中弹起的样子,所以称之为 Toast Noification 。 )
2. Status Bar Notification 是指以一个图标或者滚动条文本的形式出现在系统顶部状态栏上的通知。当应用程序处于后台运行状态时,这种方式比较合适。这种通知形式的好处是既能即使被关注到,又无需打断当前任务,可以从顶部下拉查看通知摘并做选择性处理。
3. Dialog Notification 类似于 iOS 的 Alert Notification ,以对话窗口的形式出现在屏幕上,用于重要或需及时处理的通知。
下面我们先了解以下 Android notification 的整个架构。前二种提醒方式都是由 NotificationManagerService ,而 Dialog Notification ,则是弹出一个窗口形 式实现的,因为这种提醒方式大多是针对当前应用程序或进程,所以它只是一种简单且直观的表达方式。
二、 Notification的使用
1.Toast
Toast 是 Android 中用来显示显示信息的一种机制,和 Dialog 不一样的是, Toast 是没有焦点的,而且 Toast 显示的时间有限,过一定的时间就会自动消失
// 使用 TOAST 方法显示结果内容 Toast textToast=Toast.makeText(this, " 提示内容 ", Toast.LENGTH_LONG); //... 这里也可以对 Toast 添加一些属性 textToast.show();
2. StatusBar Notification
StatusBar Notification 是在系统状态栏上 增加了一个状态栏图标,并在“通知“窗口中显示提示信息。当用户选择展开邮件, Android 就会发送一个通知(通常是推出一个活动)定义的意向。您也可以配置通知,提醒和声音,震动的用户,并在设备上闪烁的灯光。
这样的通知是很理想的工作时,您的应用程序在后台服务,需要通知有关事件的用户。如果您需要提醒有关事件已经发生,而你的活动仍可以在当前焦点,此时可以考虑使用一个对话框通知代替。
StatusBar Notification 基本步骤如下:
1 )得到 NotificationManager :
String ns = Context.NOTIFICATION_SERVICE; NotificationManager mNotificationManager = (NotificationManager) getSystemService( ns );
2 )创建一个新的 Notification 对象:
Notification notification = new Notification(); notification.icon = R.drawable.notification_icon;
也可以使用稍微复杂一些的方式创建 Notification :
int icon = R.drawable.notification_icon; //通知图标 CharSequence tickerText = "Hello"; // 状态栏 (Status Bar) 显示的通知文本提示 long when = System.currentTimeMillis(); // 通知产生的时间,会在通知信息里显示 Notification notification = new Notification(icon, tickerText, when) ;
3 )填充 Notification 的各个属性:
Context context = getApplicationContext(); CharSequence contentTitle = "My notification"; CharSequence contentText = "Hello World!"; Intent notificationIntent = new Intent(this, MyClass.class); PendingIntent contentIntent = PendingIntent.getActivity(this, 0,notificationIntent, 0); notification.setLatestEventInfo(context, contentTitle, contentText, contentIntent);
Notification 提供了丰富的手机提示方式:
a) 在状态栏 (Status Bar) 显示的通知文本提示,如:
notification.tickerText = "hello";
b) 发出提示音,如:
notification.defaults |= Notification.DEFAULT_SOUND; notification.sound = Uri.parse("file:/ sdcard /notification/ringer.mp3"); notification.sound = Uri.withAppendedPath(Audio.Media.INTERNAL_CONTENT_URI, "6");
c) 手机振动,如:
notification.defaults |= Notification.DEFAULT_VIBRATE; long[] vibrate = {0,100,200,300}; notification.vibrate = vibrate ;
d)LED 灯闪烁,如:
notification.defaults |= Notification.DEFAULT_LIGHTS; notification.ledARGB = 0xff00ff00; notification.ledOnMS = 300; notification.ledOffMS = 1000; notification.flags |= Notification.FLAG_SHOW_LIGHTS;
e) 添加 remote view
通过 RemoteViews 设置 notification 中 View 的属性
notification.contentView = new RemoteViews(getApplication().getPackageName(), R.layout.custom_dialog); notification.contentView.setProgressBar(R.id.pb, 100, 0, false); notification.contentView.setTextViewText(R.id.tv, " 进度 " + _progress+ "%");
4 )发送通知:
private static final int ID_NOTIFICATION = 1; mNotificationManager.notify(ID_NOTIFICATION, notification);
3.Dialog Notification
3.1 AlertDialog
为了创建一个警告对话框,使用 AlertDialog.Builder 子类。通过 AlertDialog.Builder
(Context) 获取一个构造器然后使用这个类的公共方法来定义警告对话框的所有属性。当得到构造器后,通过 create(). 方法来获取警告对话框对象。有时我是不调用 create() 的,而是在设置好了后直接调用 show() 显示 AlertDialog 。
AlertDialog.Builder builder=newAlertDialog.Builder(this); builder.setMessage("Areyousureyouwanttoexit?") ; AlertDialog alert=builder.create();
3.2 ProcessDialog
ProgressDialog 是 AlertDialog 类的一个扩展,可以为一个未定义进度的任务显示一个旋转轮形状的进度动画,或者为一个指定进度的任务显示一个进度条。
ProgressDialog progressDialog=newProgressDialog(getApplicationContext()); progressDialog.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL); progressDialog.setIcon(R.drawable.alert_dialog_icon); progressDialog.setMessage("Loading..."); progressDialog.setCancelable(false);
原文地址: http://blog.csdn.net/ericyelai/article/details/6213046
发表评论
-
动态更新APK
2011-09-08 12:29 4356开发了一个APK后,往往后续需要进行更新升级。那么,当用户选择 ... -
Android数据保存之PreferenceActivity
2011-09-07 15:49 5748看到很多书中都没有对PreferenceActivit ... -
AsyncTask 的使用
2011-08-22 13:39 6030在开发Android应用时必须遵守单线程模型的原则: ... -
Android Service 之三(Bind Service,使用 AIDL)
2011-08-15 17:57 12138前面写了 Bind Service 的两种实现方式,接下来转一 ... -
Android Service 之三(Bind Service,使用 Messenger)
2011-08-15 17:26 10029上次讲了第一种 Bind Service 的实现方式,今天讲 ... -
如何快速启动 Android 模拟器
2011-08-12 11:04 2496一直不知道在创建 AVD 时,那个 "enable ... -
Android 模拟器启动失败(SDL_app:emulator.exe )解决方法
2011-08-12 10:45 3533今天新建了一个AVD,给它划分了512MB的空间,然后启动之, ... -
Android Service 之三(Bind Service, 继承自 Binder 类)
2011-08-10 13:08 29968之前提及过,启动Service有两种方式:startServ ... -
android service 之二(IntentService)
2011-08-09 11:13 31683不管是何种Service,它默认都是在应用程序的主线程(亦即U ... -
android service 之一 (start service)
2011-08-08 15:45 13925我们有两种方式(start与bind)启动一个Service ... -
写Service Demo的时候遇到的一个问题小结一下
2011-08-08 14:29 8519我写了一个 Service 的Demo,但是将启动Servi ... -
百度Android工程师面试题
2011-07-28 09:49 2224百度Android工程师面试题 -
Android中UI主线程与子线程
2011-07-26 14:10 2100在一个Android 程序开始运行的时候,会单独启动一个Pro ... -
Android线程模型(Painless Threading)
2011-07-26 14:07 1560当第一次启动一个Android ... -
Android 之 传感器 应用
2011-07-26 10:42 5271传感器的使用 1.传感器类型: 方向、加速度(重力)、 ... -
Logcat出错:Could not create the view: For input string:
2011-07-22 13:39 2534使用eclipse开发android应用已经一年多了,但今 ... -
Goolge Map API 源码
2011-07-14 14:16 3859由于做GOOGLE MAP 的项目,所以就上网想找它的源码。结 ... -
如何用metersToEquatorPixels实现任意纬度的米到像素的转换
2011-07-14 13:40 4736今天又是神奇的发现:我希望在MapView的Overlay子类 ... -
申请 android google map API key(转)
2011-07-10 14:07 18431.首先要得到你的debug keystore位置: ... -
windows下如何批量下载android源码
2011-05-18 22:56 2599为了在windows下批量下载Android的源码,上网查 ...
相关推荐
在Android系统中,Notification是应用与用户交互的重要方式,它可以在状态栏中显示信息,即使用户不在使用应用时也能提醒用户有新的事件发生。本文将深入探讨如何在Android中使用Notification,包括基本用法、自定义...
本项目是一个基于Android 2.3(Gingerbread)版本的小实例,旨在帮助开发者学习如何使用Notification API创建和管理通知。 首先,创建Notification需要使用`NotificationCompat.Builder`类,它是Android Support ...
Android Notification 使用方法详解 Android Notification 是 Android 系统中的一种重要组件,用于向用户显示重要信息和提示。Android Notification 使用方法详解中,我们将介绍如何使用 Android Notification ...
Android Notification使用方法总结 Android Notification是Android系统中的一种重要机制,用于向用户显示重要信息,例如来自应用程序的更新、警报、提醒等。下面是Android Notification使用方法总结的相关知识点: ...
在Android开发中,`Notification`、`Service`和`BroadcastReceiver`是三个核心组件,它们在许多场景下都有着重要的作用,特别是在实现应用后台运行、实时更新等任务时。本项目"Android notification+Service实时更新...
本篇文章将详细介绍如何在Android 4.0及以上版本中使用Notification,以及如何处理兼容性问题。 ### 链式调用创建Notification 在Android 4.0及以上版本,推荐使用`Notification.Builder`类通过链式调用来构建...
在Android开发中,Notification是应用与用户交互的重要方式,它能够在状态栏中显示信息,即使用户不在应用程序中也能提醒用户有新的活动或消息。本文将深入解析Android Notification的工作原理、设计模式以及如何...
在Android系统中,通知(Notification)是用户界面中不可或缺的一部分,它允许应用在状态栏或者通知中心向用户传达重要信息,即使用户并未直接与应用交互。"Android Notification"这一主题聚焦于如何创建和管理用于...
"AndroidNotification"项目旨在整合Android平台上所有Notification的使用方法,这对于开发者来说是一个宝贵的资源,能够帮助他们理解和实践各种通知功能。 首先,我们来详细了解一下Android中的Notification。...
在Android系统中,Notification是应用与用户交互的重要方式之一,特别是在后台运行时,它能将信息传达给用户,如消息提醒、下载进度等。本文将深入探讨如何利用Android的Notification API来实现动态下载过程的可视化...
这篇博客"Android Notification的使用"详细探讨了如何在Android应用程序中有效地利用Notification API来创建和管理通知。 首先,Notification的创建需要一个NotificationChannel。在Android Oreo(8.0)及以上版本...
"android Notification Demo" 是一个示例项目,旨在演示不同类型的Android通知及其使用方法。在这个项目中,开发者可能会探索如何创建各种通知,以适应不同的用户交互场景。 通知通常分为以下几种类型: 1. **普通...
Notification 在 Android 系统中扮演着关键的角色,主要功能包括: 1. 提醒用户:当应用在后台运行或者没有在前台显示时,Notification 可以提供一种方式让用户知道应用的活动状态,例如邮件到达、消息通知、下载...
在Android系统中,Notification是一种重要的用户界面元素,用于在状态栏显示应用的提醒或消息。当用户无法直接与应用交互时,例如手机锁屏或在其他应用中,Notification可以帮助用户了解应用的状态并进行相应的操作...
在Android开发中,通知(Notification)是用户界面中不可或缺的一部分,它用于在状态栏中向用户传达应用的非即时信息,即使用户不在与该应用交互时也能接收到。本示例"Android notification进度条 demo"专门关注如何...
如果你的应用需要兼容更低版本的Android,可以使用`NotificationCompat`类提供的方法。 在`android-NotificationChannels-master`这个项目中,你可能会找到一个示例应用,它展示了如何创建和使用`...