在某些情况下,可能需要你去通知用户发生在你应用中的事件,其中一些事件需要用户响应,有的则不需要。例如:

:* 当一个事件完成时(比如保存一个文件),则需要显示一个简短的消息来确认保存成功。

:* 假如应用正在后台运行且需要用户注意,那么该应用需要创建一个通知以方便用户做出响应。

:* 假如应用正在执行某个动作(比如正在载入一个文件)且需要用户等待,那么该应用需要显示一个旋转的进度条来表示这个过程。

以上这些通知任务,每一个都可以用不同的技术来实现:

:* Notifications#Toast_.E9.80.9A.E7.9F.A5|Toast通知,是从后台启用一个简短的消息;

:* Notifications#.E7.8A.B6.E6.80.81.E6.A0.8F.E9.80.9A.E7.9F.A5|状态栏通知,是来自后台的持续提醒且需要用户响应;

:* Notifications#.E5.AF.B9.E8.AF.9D.E6.A1.86.E9.80.9A.E7.9F.A5|对话框通知,是一种与Activity(活动)相关的通知。

这份文档包括了这些通知用户的相关技术的介绍以及完整文档的链接。

* Toast 通知*

{|style="border-spacing: 0px;margin: 4px 4px; width: 70%; "
|- style=" vertical-align:top;"
| style=" width:auto;" |

Toast通知是一种浮现在屏幕上层的消息提醒,它只填充消息所需要的空间,而当前正在运行的活动仍然保持其自身的可见性和交互性。这种通知自动淡入淡出且不接受交互事件,因为它是由后台服务创建的,所以即时应用不可见了它仍然能够显示。

当你完全将注意力集中在屏幕上时,那么Toast通知是最好的提示简短消息的方式(例如文件保存成功提醒)。这种通知不接受用户的交互事件,但假如你想让用户去响应和做出动作,你可以考虑使用Notifications#.E7.8A.B6.E6.80.81.E6.A0.8F.E9.80.9A.E7.9F.A5|状态栏通知来代替。

详细信息,请参阅Toast_Notifications|Toast通知。

| style=" width:250px;text-align:center; " |
http://developer.android.com/images/toast.png

|}

* 状态栏通知*

{|style="border-spacing: 0px;margin: 4px 4px; width: 70%; "
|- style=" vertical-align:top;"
| style=" width:auto;" |

状态栏通知是将图标添加到系统的状态栏(带有一个可选的滚动文本消息),同时将扩展信息添加到“通知”窗口。当用户选择这个扩展信息时,安卓设备将触发一个由通知定义的Intent(通常是载入一个活动)。你还可以为这个通知配置声音、震动以及闪光灯来提醒用户。

这种模式的通知是在当你的应用运行在后台服务中且需要用户注意到这个事件时使用的。假如你需要提醒用户正在发生的事件,且这个事件正持续进行时,你可以考虑使用Notifications#.E5.AF.B9.E8.AF.9D.E6.A1.86.E9.80.9A.E7.9F.A5|对话框通知来代替。

详细信息,请参阅Status_Bar_Notifications|状态栏通知。

| style=" width:250px;text-align:center; " |
http://developer.android.com/images/notifications_window.png

|}

* 对话框通知*

{|style="border-spacing: 0px;margin: 4px 4px; width: 70%; "
|- style=" vertical-align:top;"
| style=" width:auto;" |

对话框通常是一种显示在当前活动之上的小窗口,这时候下层的活动将失去焦点,且对话框可以接受任何形式的用户交互方式。一般来说对话框是用于通知或者用于直接关系到应用进程的短期活动。

当你需要显示一个进度条或者一个需要用户确认的短消息(例如带有“确定”和“取消”按钮的提醒)时,你可以利用对话框来实现。你还可以把它当作应用的用户界面和除了通知以外其他目的的交互元件。所有可用类型的对话框(包括用于通知)的完整讨论,请参阅Dialogs|对话框。

| style=" width:250px;text-align:center; " |
http://developer.android.com/images/dialog_progress_spinning.png

|- style=" vertical-align:top; "
| style=" width:auto; text-align:right;" |
Notifications#top|↑返回顶部

| style=" width:250px;align:right; " |

|- style=" vertical-align:top; "
| style=" width:auto; text-align:left;" |
User_Interface|←返回用户接口

| style=" width:250px;align:right; " |
|}

更多相关文章

  1. Android(安卓)反射调用方法并利用此方法展开android通知栏(兼容4.
  2. Android(安卓)用户界面---操作栏(Action Bar 五)
  3. 分享 Ionic 开发 Hybrid App 中遇到的问题以及后期发布 iOS/Andr
  4. 为什么说在Android中请求权限从来都不是一件简单的事情?
  5. [Android(安卓)5.1] 多用户管理UserManager相关整理
  6. 在Android中自定义捕获Application全局异常,可以替换掉系统的强制
  7. 牛B的Android(安卓)UI--第18章 与用户交互相关的设计模式 (上)
  8. Android接入多盟广告SDK--让你的APP通过广告平台赚钱
  9. APP如何推广?策划APP推广方案的好方法

随机推荐

  1. C语言注释方法有几种?
  2. c语言的阶乘函数如何用递归定义?
  3. 一定要了解的c语言中&与&&的区别
  4. C语言中的标识符由什么组成
  5. C语言 sqrt 是什么意思?
  6. C语言自定义函数返回数组的方法(图文详解)
  7. c语言换行符号是什么?
  8. C语言怎么定义字符串数组
  9. C语言实现删除数组中某个元素
  10. c语言中的语句之间必须用分号作为分隔符