有几种类型的场景可能会要求你把应用程序中发生的事件通知给用户。有些事件需要用户响应,而有些则不需要。例如:
1.当像文件保存完成的一个事件发生时,就应该显示一个短消息,提示用户保存成功了。
2.如果应用程序正在后台运行,并且需要用户的关注,那么应用程序就应该创建一个允许用户方便响应的通知。
3.如果应用程序正在执行用户必须等待的工作(如装载文件),那么应用程序就应该显示一个悬停的进度对话框。
每种通知任务都能够使用以下三种不同的技术来实现:
1.广播通知,主要针对来自后台的短消息;
2.状态栏通知,主要针对来自后台的并要求用户响应的持续性提醒;
3.对话框通知,主要针对Activity相关的通知。
广播通知(Toast Notification)
广播通知是弹出到窗口表明的一个消息(如图1所示)。它仅填充了消息要求的空间大小,并且依然保留当前Activity的可先性和交互性。这种类型的通知自动的渐入渐出,而且不接受交互事件。因为广播通知是由后台服务创建的,即使应用程序不可见,它也会显示。
图1
广播通知最好用短文本消息,如“文件保存成功”。广播通知不能接收用户交互事件,如果希望能够的到用户的响应,可以考虑私用状态栏通知来替代。
状态栏通知(Status Bar Notification)
状态栏通知会把一个图标(带有一个可选的提示文本消息)添加到系统的状态栏(如图2所示),并把一个展开的消息添加到通知窗口中。当用户选择这个展开的消息时,Andriod会触发一个由通知定义的Intent对象(通常是要启动一个Activity)。你也能够在设备上给通知配置一个声音、震动、屏幕闪亮等效果以提醒用户。
图2
当用户的应用程序正在一个后台服务中工作,并且需要把一个内部事件通知给用户时,这种类型的通知是非常合适的。如果你需要把发生的事件通知给用户的同时,Activity不能保留焦点,可以考虑使用对话框通知来代替。
对话框通知(Dialog Notification)
对话框通常是显示在当前Activity前面的一个小窗口。它下面的Activity会失去焦点,并且对话框会接受所有的用户交互。对话框通常直接用于与应用程序内进度相关的通知和短期活动。
当你需要显示一个进度条或需要用户确认的短消息时,应该使用对话框(如带有“OK”和“Cancel”按钮的提示框)。你也能够把对话框作为集成应用程序组件的UI界面来使用。
分享到:
相关推荐
总的来说,"unity-android-notifications-master"插件是一个强大而实用的工具,它降低了在Unity中实现本地推送通知的门槛,为开发者节省了时间,减少了成本,同时提升了应用的用户体验。对于希望快速集成推送功能的...
本项目“Android-Push-Notifications-master”专注于教授如何在Android应用中实现推送通知功能,特别关注“androidnotification”这一核心主题。下面将详细介绍这个项目涉及的关键知识点。 1. **GCM (Google Cloud ...
在"unity-android-notifications-master"这个项目中,你可能会找到实现以上步骤的相关代码和资源。通过研究这些代码,你可以了解如何在Unity中集成和使用Android本地通知,从而在你的游戏中实现类似的功能。此外,...
"android-android-ui-design-patterns.rar"是一个压缩包,包含了关于Android UI设计模式的重要资料,特别是对于GUI(图形用户界面)设计者来说,这份资源极其有价值。 Android UI设计遵循一套规范和最佳实践,旨在...
bootstrap-notifications, Bootstrap 框架的通知组件 用于 3的 通知组件 要开始,请查看 http://skywalkapps.github.io/bootstrap-notifications 。快速启动通知组件是为 Bootstrap 3构建的。 你有以下安装选项:...
`laravel-notifications-api`可能涉及到更多API交互,如通过RESTful API发送通知,或者接收来自API的远程通知。这需要你对Laravel的路由、控制器以及API交互有深入理解。在实际项目中,你可能还需要处理权限验证、...
react-materialui-notifications, 针对反应和材质用户界面用户的符合规范的通知 react-materialui-notifications 针对反应和材质用户界面用户的符合规范的通知安装使用最新的github版本或者通过安装 npm i react-...
8. **Notification和PendingIntent增强**:更新了通知的API,增加了新的样式和行为,如 Heads-up Notifications 和 Notification Channels。 9. **RecyclerView**:在后期版本中引入,作为ListView的替代品,提供更...
Android Beacon Library An Android library providing APIs to interact with beacons. Please visit the project website for how to use this library. IMPORTANT: By default, this library will only detect ...
Arduino-push-notifications-arduino-esp8266.zip,如何使用Arduino IDE从ESP8266在手机上生成推送通知的示例。push-notifications-Arduino-ESP8266,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,...
《PyPI官网下载:mypy-boto3-codestar-notifications-1.12.3.1.tar.gz详解》 PyPI(Python Package Index)是Python开发者常用的资源库,它提供了大量的Python软件包,供全球的开发人员下载和使用。在PyPI中,我们...
【Python库 | django-push-notifications-goinnn-1.6.4.tar.gz】是一个与Python相关的资源,专注于提供后端开发中的推送通知功能。这个压缩包包含的是`django-push-notifications`的一个特定版本,即1.6.4,由用户...
在本文中,我们将深入探讨如何在Laravel框架中使用laravel-notifications和Pusher来实现高效的...这个压缩包`laravel-notifications-pusher-master`可能包含了示例代码或教程,帮助开发者更好地理解和实践这一过程。
本教程将深入讲解如何在 Laravel 中使用 `laravel-notifications` 集成 Plivo 作为短信通知的驱动程序。 首先,让我们了解什么是 Plivo。Plivo 是一个通信平台即服务(CPaaS)提供商,提供语音和短信API,使开发者...
《Python库aws-cdk.aws-s3-notifications-1.69.0:构建AWS S3事件通知的强大工具》 在当今的云计算环境中,Amazon Web Services(AWS)是领先的云服务提供商,而Python作为一门广泛使用的编程语言,为开发者提供了...
《PyPI官网下载:深入解析django-councilmatic-notifications-0.1.15》 在Python的世界里,PyPI(Python Package Index)是开发者们发布、分享和获取Python软件包的重要平台。当我们谈论"PyPI官网下载 | django-...
这一功能首次在Android 5.0 Lollipop版本中引入,它允许用户在使用设备时,即使屏幕锁定或正在使用其他应用,也能在屏幕顶部看到悬浮的短暂通知。这些通知会短暂地显示在屏幕中央,以便用户快速查看并处理,而不需要...
《Python库aws-cdk.aws-s3-notifications-1.71.0:构建AWS S3事件通知的利器》 在当今的云计算环境中,Amazon Web Services(AWS)是领先的云服务提供商,而Python作为一门强大的编程语言,常被用于构建云基础设施...
《PyPI官网下载:mypy-boto3-codestar-notifications-1.16.38.0.tar.gz详解》 PyPI(Python Package Index)是Python社区的主要软件包资源库,它为开发者提供了一个发布、查找和安装Python库的平台。在本篇文章中,...
`mypy-boto3-codestar-notifications-1.13.8.0.tar.gz`这个压缩包包含了该库的源代码、文档、测试等相关文件。解压后,我们可以看到一个名为`mypy-boto3-codestar-notifications-1.13.8.0`的目录,其中可能包括以下...