Android支持Toast和NotificationManager两种通知方式,前者相当于一个定时关闭的对话框,后者是在状态栏上显示一条消息。Toast和Notification都可以随时取消。

Toast

A toast is a view containing a quick little message for the user. The toast class helps you create and show those. Toast的使用很简单:

Toast.makeText(this, "Service destroyed…", Toast.LENGTH_LONG).show();

NotificationManager

NotificationManager负责通知用户事件的发生。

NotificationManager有三个公共方法:

1.cancel(int id)取消以前显示的一个通知.假如是一个短暂的通知,试图将隐藏,假如是一个持久的通知,将从状态条中移走.

2.cancelAll()取消以前显示的所有通知。

3.notify(int id, Notification notification) 把通知持久的发送到状态条上.

//初始化NotificationManager:

NotificationManager nm =

(NotificationManager)getSystemService(NOTIFICATION_SERVICE);

Notification代表着一个通知.

Notification的属性:

audioStreamType 当声音响起时,所用的音频流的类型

contentIntent 当通知条目被点击,就执行这个被设置的Intent.

contentView 当通知被显示在状态条上的时候,同时这个被设置的视图被显示.

defaults 指定哪个值要被设置成默认的.

deleteIntent 当用户点击"Clear All Notifications"按钮区删除所有的通知的时候,这个被设置的Intent被执行.

icon 状态条所用的图片.

iconLevel 假如状态条的图片有几个级别,就设置这里.

ledARGBLED灯的颜色.

ledOffMSLED关闭时的闪光时间(以毫秒计算)

ledOnMS LED开始时的闪光时间(以毫秒计算)

number 这个通知代表事件的号码

sound 通知的声音

tickerText通知被显示在状态条时,所显示的信息

vibrate 振动模式.

when 通知的时间戳.

Notification的公共方法:

describeContents()Describe the kinds of special objects contained in this Parcelable's marshalled representation.

setLatestEventInfo(Context context, CharSequence contentTitle, CharSequence contentText, PendingIntent contentIntent) 设置Notification留言条的参数

writeToParcel(Parcel parcel, int flags)Flatten this notification from a parcel.

toString() …………….

将Notification发送到状态条上:

Notification notification = new Notification(R.drawable.icon,

"Service started", System.currentTimeMillis());

PendingIntent contentIntent = PendingIntent.getActivity(this, 0,

new Intent(this, Main.class), 0);

// must set this for content view, or will throw a exception

notification.setLatestEventInfo(this, "Test Service",

"Service started", contentIntent);

nm.notify(R.string.hello, notification);

Notification的取消

nm.cancel(R.string.hello);

package wzhnsc.testnotification;

import android.app.Activity;
import android.app.Notification;
import android.app.NotificationManager;
import android.app.PendingIntent;
import android.content.Intent;
import android.os.Bundle;

public class Main extends Activity {

NotificationManager objNotificationManager;
Notification objNotification;
PendingIntent objPendingIntent;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

// 声明通知(消息)管理器只要知道它是用来管理通知消息的就行了
objNotificationManager = (NotificationManager) getSystemService( NOTIFICATION_SERVICE );

int icon = R.drawable.icon;
CharSequence tickerText = "小图标旁的文字";
objNotification = new Notification( icon,
tickerText,
System.currentTimeMillis() );

// 如果有振动或者全部提示方式,必须在 AndroidManifest.xml 加入振动权限
objPendingIntent = PendingIntent.getActivity( this,
0,

更多相关文章

  1. android录音机的一些问题整理
  2. Android使用ksoap2包调用Webservice
  3. Android电源管理之一:基础概览
  4. 【Android(安卓)应用开发】Activity 状态保存 OnSaveInstanceSta
  5. Android通过使用系统广播监听网络状态的改变
  6. 看完这篇。再也不怕被问 HandlerThread 的原理
  7. Android(安卓)打电话,发短信,调用系统浏览器
  8. Android(安卓)中 Handler 引起的内存泄露
  9. Android(安卓)的权限设置大全

随机推荐

  1. Android复习笔记(7) -发送广播
  2. Android第一个apk之HelloWorld
  3. Android(安卓)Out Of Memory(OOM) 的详细
  4. Android中Activity启动模式详解,可以控制
  5. android适配各种分辨率的问题
  6. Android(安卓)热敏打印机开发(蓝牙)
  7. [Android]解决Window系统adb shell后中文
  8. Eclipse ADT 中自动提示的方法参数都是ar
  9. 基于Android搭建tensorflow lite,实现官
  10. Android系统的性能调优参数介绍