Version:1.0 StartHTML:0000000176 EndHTML:0000125910 StartFragment:0000024671 EndFragment:0000125870 SourceURL:file:///Y:\Desktop\学习\新建文件夹\notification.docx
Android基础—Notification(状态栏通知)详解
- Notification的简单使用
使用原理:
通过Nofitication的配置类NotificationCompat.Builder配置Notification的View,配置完成后通过PendingIntent设置点击事件,最后通过NotificationService交给系统。
①、创建NotificationCompat
注意:使用v4的包,达到向下兼容目的
创建方法:
NotificationCompat.Builder notification = new NotificationCompat.Builder(Context context);
②、配置图中的属性
1.小图标:这是必需的,使用setSmallIcon()设置。
2.App名称:由系统提供。
3.时间戳:这是由系统提供的,但是您可以使用setWhen()覆盖它,或者使用setShowWhen(false)隐藏它。
4.大图标:这是可选的(通常只用于联系照片;不要将它用于应用程序图标)并使用setLargeIcon()设置。
5.标题:这是可选的,设置为setContentTitle()。
6.文本:这是可选的,设置为setContentText()。
而对于大视图(Big View)而言,它的细节区域只能显示256dp高度的内容,并且只对Android4.1+之后的设备才支持,它比标准视图不一样的地方,均需要使用setStyle()方法设定
setStyle()传递一个NotificationCompat.Style对象,它是一个抽象类,Android为我们提供了三个实现类,用于显示不同的场景。分别是:
setStyle()传递一个NotificationCompat.Style对象,它是一个抽象类,Android为我们提供了三个实现类,用于显示不同的场景。分别是:
NotificationCompat.BigPictureStyle, 在细节部分显示一个256dp高度的位图。
NotificationCompat.BigTextStyle,在细节部分显示一个大的文本块。
NotificationCompat.InboxStyle,在细节部分显示一段行文本。
③、设置notification的点击事件
作用:表示不确定时候发动的Intent。Intent表示立即发动的Intent。
使用场景:主要用于远程服务通信、闹铃、通知、启动器、短信中
主要方法:
static PendingIntent getActivity(Context context,int requstCode,Intent intent,int flag);
static PendingIntent getService(Context context,int requstCode,Intent intent,int flag);
static PendingIntent getBroadcast(Context context,int requstCode,Intent intent,int flag)
这三个方法相当于Activity的startActivity(),startService()方法