Notification

来源:互联网 发布:淘宝靠谱的日本代购店 编辑:程序博客网 时间:2024/05/23 01:25


一、概述
Notification是Android中一个重要的系统服务,Notification显示通知信息在手机状态栏,手机状态栏位于屏幕


最上方,那是通常显示手机当前的网络状态、电池状态、时间、短信等。Notification代表的是一种具有全局效果


的通知,Notification对象要通过NotificationManager(通知管理器类)的对象来发送。
二、Notification类
1.概述
Notification类用于存放通知标题、内容、图标以及发送的目标对象
2.常用属性
1).icon:通知的图标,示例代码
Notification notif=new Notification();
notif.icon=R.drawable.ic_launcher;
说明:第一行创建通知对象,第二行设置通知对象的icon图标,该图标用了Android默认的图标,也可以是其他图



2).tickerText:通知标题,该标题显示在窗口的状态栏中
示例代码:notif.tickerText="通知来啦";
3).flags:设置通知状态的标志值,有如下可选常量值:
FLAG_AUTO_CANCEL :在通知栏点击此通知后被清除
FLAG_INSISTENT:重复发出声音,直到用户响应此通知
FLAG_ONGOING_EVENT :将此通知放大通知栏的“OnGoing”即“正在运行”组中
FLAG_NO_CLEAR:禁止手动清除此通知
4).defaults:设置通知的默认属性,默认属性包括声音提示,震动提示,闪光提示等
DEFAULT_SOUND :默认声音
DRFAULT_VIRBATE:默认震动
DEFAULT_LIGHTS:默认闪光灯
ALL:使用默认声音,默认闪光灯和默认震动
5).public int contentIntent:存放一个PendingIntent类型的对象
6).public int contentView:存放一个RemoteViews类型的对象。使用该对象可以在状态栏显示如下载进度这类


的效果
3.创建通知对象
通知对象可以入以上所示创建,再设置对象的图标、标题等属性,也可以按如下方法创建
Notification notification=new Notifiication(R.drawable.icon,"通知来啦",System.currentMills());
4.常用方法:
public void setLatestEventInfo(Context context,String title,String content,PendingIntent pi)
作用:蛇蛇点击通知的响应事件
参数context:当前的Activity对象
参数title:通知的标题,该标题不是上述的窗口状态栏的标题
参数content:通知的详细内容
NotificationManager类
1.概述
NotificationManager类是通知管理器对象,用于发送、取消通知
2.常用方法:
1.notify(int id,Notification notification)
作用:发送一个通知
参数id:通知的id值,用于区别其他通知
参数notification:一个已经创建的Notification对象
2.cancel(int );
作用:关闭指定索引值的通知。
示例:notifyManager.cancel(100);


PendingIntent类
一.概述
1.PendingIntent用于描述Intent及其最终的行为
2,PendingIntent对象可以递交给其他应用程序,然后继续处理。这样可稍后才处理PendingIntent中描述的Intent


及其最终行为。
二.常用方法:
1.public static PendingIntent getActivity(Context context,int requestCode,Intent intent,int flags)
作用:从系统取得一个用于启动目标(intent中设置)Activity的PendingIntent对象
参数context:当前组件的对象
参数requestCode:请求码,用0即可
参数intent:Intent对象,用于指定通知的目标组件
参数flags:设置通知的类型,有两个常用的可选值:
1)FLAG_CANCEL_CURRENT:设定在提取PendingIntent时,先关闭之前的PendingIntent实例,这样得到的


PendingIntent就是新的了
2)FLAG_UPDATE_CURRENT:设置新的Intent更新之前的PendingIntent中的Intent对象数据,例如更新Intent中的


Extras.
提示:本应用中设置flags值为0即可
2.public static PendingIntent getService(Context context,int requestCode,Intent intent,int flags



作用:从系统中取得一个用于启动目标Service中的PendingIntent对象
3.public static PendingIntent getBroadCast(Context context,int requestCode,Intent intent,int flags)
作用:从系统中取得一个用于启动BroadcastReceiver的Intent广播的PendingIntent对象
0 0