本文为《Android/OPhone 开发完全讲义》的内容连载,如需转载,请注明作者和出处,谢谢!
源代码下载
Notification
与
Toast
都可以起到通知、提醒的作用。但它们的实现原理和表现形式却完全不一样。
Toast
其实相当于一个组件(
Widget
)。有些类似于没有按钮的对话
框。而
Notification
是显示在屏幕上方状态栏中的信息。还有就是
Notification
需要用
NotificationManager
来管理,而
Toast
只需要简单地创建
Toast
对象即可。
下面来看一下创建并显示一个
Notification
的步骤。创建和显
示一个
Notification
需要如下
5
步:
1.
通过
getSystemService
方法获得一个
NotificationManager
对象。
2.
创建一个
Notification
对象。每一个
Notification
对应一个
Notification
对象。在这一步需要设置显示在屏幕上方状态栏的通知消息、通知消息前方的图像资源
ID
和发出通知的时间。一般为当前时间。
3.
由于
Notification
可以与应用程序脱离。也就是说,即使应用程序被关闭,
Notification
仍然会显示在状态栏
中。当应用程序再次启动后,又可以重新控制这些
Notification
。如清除或替换它们。因此,需要创建一个
PendingIntent
对象。该对象由
Android
系统负责维护,因此,在应用程序关闭后,该对象仍然不会被释放。
4.
使用
Notification
类的
setLatestEventInfo
方法设置
Notification
的详细信息。
5.
使用
NotificationManager
类的
notify
方法显示
Notification
消息。在这一步需要指定标识
Notification
的唯一
ID
。这个
ID
必须相对于同一个
NotificationManager
对象是唯一的,否则就会覆盖相同
ID
的
Notificaiton
。
心动不如行动,下面我们来演练一下如何在状
态栏显示一个
Notification
,代码如下:
上面的
5
行代码正好对应创建和显示
Notification
的
5
步。在这里要解释一下的是
notify
方法的第
1
个参数。这个参数实际上表示了
Notification
的
ID
。是一个
int
类型的值。为了使这个值唯一,可以使用
res
目录中的某些资源
ID
。例如,在上面的代码中使用了当前
Notification
显示的图像对应的
资源
ID
(
R.drawable.icon
)作为
Notification
的
ID
。当然,读者也可以使用其他的值作为
Notification
的
ID
值。
由于创建和显示多个
Notification
的代码类似,因
此,在本节的例子中编写了一个
showNotification
方法来显示
Notification
,代码如下:
下面的代码使用
showNotification
方法显示了
3
个
Notification
消息。
其中第
2
个和第
3
个
Notification
使用的是同一个
ID
(
R.drawabgle.why
),因此,第
3
个
Notification
会覆盖第
2
个
Notification
。
在显示
Notification
时还可以设置显示通
知时的默认发声、震动和
Light
效果。要实现这个功能需要设置
Notification
类的
defaults
属性,代码如下:
注意:设置默认发声、震动和
Light
的方法是
setDefaults
。该
方法与
showNotification
方法的实现代码基本相同,只是在调用
notify
方法之前需要设置
defaults
属性(
defaults
属性必须在
调用
notify
方法之前调用,否则不起作用)。在设置默认震动效果时还需要在
AndroidManifest.xml
文件中通过
<uses-permission>
标签设置
android.permission.VIBRATE
权限。
如果要清除某个消息,可以使用
NotificationManager
类
的
cancel
方
法,该方法只有一个参数,表示要清除的
Notification
的
ID
。使用
cancelAll
可以清除当前
NotificationManager
对象中的所有
Notification
。
运行本节的例子,单击屏幕上显示
Notification
的按钮,会显示如
图1
所示的消息。每一个消息会显示一会,然后就只显示整个
Android
系统(也包括其他应用程序)
的
Notification
(只显示图像部分)。如图2
所示。如果将状态栏拖下来,可以看
到
Notification
的详细信息和发出通知的时间(也就是
Notification
类的构造方法的第
3
个参数值),如图3
所
示。当单击【清除通知】按钮,会清除本应用程序显示的所有
Notification
,清除后的效果如图4
所示。
图1
图2
图3
图4
分享到:
相关推荐
在Android系统中,Notification是一种重要的用户界面元素,用于在状态栏显示应用的提醒或消息。当用户无法直接与应用交互时,例如手机锁屏或在其他应用中,Notification可以帮助用户了解应用的状态并进行相应的操作...
- **内容概述**: 该文章属于一个系列教程的一部分,重点讲述了Notification在Android开发中的作用及其基本使用方法。 **12. 解读Notification** - **链接**: [http://www.apkbus.com/android-19156-1-1.html]...
6. **通知(Notification)**:Android的通知系统允许应用在状态栏显示提醒。了解如何创建、管理和自定义通知,是提供及时信息和保持用户互动的重要手段。 7. **异步处理**:Android应用的UI线程不能进行耗时操作,...
- **状态栏与导航栏**:根据不同的Android版本,了解如何处理状态栏和导航栏的变化。 - **自定义View**:学习如何扩展View类来创建自定义控件,满足特殊的设计需求。 #### 五、数据存储方式 - **SharedPreferences*...
----------------------------------- Android 编程基础 1 封面----------------------------------- Android 编程基础 2 开放手机联盟 --Open --Open --Open --Open Handset Handset Handset Handset Alliance ...
**不受运营商限制**:与某些封闭系统不同,Android 不受特定运营商的控制,用户可以自由安装和更新应用。\n3. **丰富的硬件选择**:Android 支持多种设备,包括不同品牌和型号的手机、平板电脑等。\n4. **开发不受...
- **通知管理器(Notification Manager)**:允许应用向状态栏发送自定义通知。 - **活动管理器(Activity Manager)**:管理应用生命周期,提供导航和回退功能。 - **程序库**: - **系统C库**:标准C库,针对嵌入式...
Notification通常出现在状态栏中,可以是简单的文本消息,也可以包含图标、扩展信息以及可操作的动作。 首先,我们来详细了解一下`Notification`类。`Notification`是Android系统提供的一个类,用于封装要显示在...
10. **通知(Notification)**:通知系统能够让应用在状态栏显示消息,即使用户不在应用中也能接收到重要信息。 【高级主题】 1. **多线程与异步处理**:Android应用的主线程负责UI更新,所以需要在其他线程中执行...
11. **通知(Notifications)**:Android的通知系统允许应用在状态栏中向用户发送消息。案例中可能会涉及不同类型的Notification构建。 12. **网络通信**:使用HttpURLConnection、OkHttp或者Retrofit进行网络请求,...
16. **Notification**:通知用于在状态栏提醒用户应用的重要事件,即使应用不在前台运行。 17. **Fragment**:Fragment是Android 3.0引入的新概念,它可以在Activity中动态添加和移除,使得UI适应不同屏幕尺寸和...
8. **对话框和通知**:Android提供了多种对话框类型,如警报对话框(AlertDialog)、进度对话框(ProgressDialog)等,以及通知(Notification)系统,用于在状态栏显示消息。 9. **自定义控件**:当标准组件无法...
- **通知管理器(Notification Manager)**:支持在状态栏中显示自定义提示信息。 - **活动管理器(Activity Manager)**:管理应用程序生命周期,提供导航和回退功能。 #### 四、程序库与运行库 Android系统中...
7. **服务与通知**:Service组件用于在后台执行长时间运行的任务,而Notification则用于在状态栏显示消息,提醒用户应用的活动。掌握这两者能提升应用的后台运行能力。 8. **高级特性**:Android还包括许多高级特性...
通知(Notification)则可以在状态栏显示消息,即使应用在后台也能与用户交互。 11. **权限管理**:Android 6.0(API 23)引入了运行时权限,应用需要在运行时请求敏感权限,如访问联系人、位置等。 12. **Android...
7. **通知与BroadcastReceiver**:通过Notification,应用可以在状态栏展示消息,即使应用不在前台运行。BroadcastReceiver则允许应用监听系统或自定义广播事件,实现被动响应。 8. **网络编程**:Android应用常常...
7. **通知与提醒**:为了及时通知用户安全状态,开发者需要熟悉Notification API,创建和管理通知,以及处理用户的交互。 8. **权限请求流程**:在Android中,合理引导用户授权是关键。开发者需掌握如何在合适的...
`141358qbl1vplz62hp9qh2.gif`、`141357cc9kb9cbbt7l9zd1.gif`和`141357l8rry8rb884rm7dy.gif`可能是展示自定义通知动画或状态的GIF图像。`JavaApk源码说明.txt`可能包含了关于如何阅读和理解源代码的指导,而`千万...
• 通知管理器 (Notification Manager) 使得应用程序可以在状态栏中显示自定义的提示信息。 4 • 活动管理器( Activity Manager) 用来管理应用程序生命周期并提供常用的导航回退功能。 程序库 Android 包含一些 ...