Notification通知栏创建及高级功能

来源:互联网 发布:liunx打开3312端口 编辑:程序博客网 时间:2024/06/06 05:47

创建通知栏;

1,需要创建NotificationManager通知管理器,用于管理通知,可以通过

Context上下文类中有个getSystemService方法传入参数Context.NOTIFICATION_SERVICE得到

2,new 个Notification对象参数(通知栏图标,提示信息过几秒消失,时间)

3,Notification引用对象中setlatesEventInfo方法用于显示布局界面,参数(上下文,通知栏标题,通知栏内容,延迟意图:点击通知栏所要做的意图)

4,NotificationManager通知管理器引用对象中notify方法用于发送通知,参数(通知的唯一id,通知对象)

5到这里基本能发送显示,但还没有做点击逻辑,点击逻辑在延迟意图中设置:

创建延迟意图PendingIntent对象通过静态方法实列化(有getActivity(),getService(),getBroadcastReceive()):Pending.getActivity()方法实列化,参数(上下文,请求码,意图,PendingIntent.FLAG);请求吗和flag参数当意图存有额外数据时有区别,一般PendingIntent.FLAG.CANSEL_CURRENT和PendingIntent.FLAG.UPDATA_CURRENT即可

此处意图对象是打开另一个活动界面:new Intent(this,AnotherActivity.class);

好了此时下拉点击通知时会跳转到另一个界面

6,高级功能:

通知栏可以设置发送通知时伴随手机震动,声音,led登显示(有红,绿,蓝颜色)我的手机只有红色闪烁;

一般默认就可以了:Notification引用对象的成员变量notification.defautes=Notification.DEFAULT_ALL;这里会根据手机的场景决定播放铃声及震动,

Notification引用对象notification.ledARGB=Notification.DEFAULT_LIGHTS;notification.flags=Notification.FLAG_SHOW_LIGHT当有未接电话或未读短信,led灯就会不停的闪烁;我手机是红色闪烁;

也可以自定义:声音soud这个属性石Uri对象,比如我们手机的/system/media/audio/ringtones目录下有Basic_tong.ogg音频文件,在代码中可以这样指定

Uri soundUri=Uri.fromFile(new File("/system/media/audio/ringtones/Basic_tone.ogg));

notification.sound=soundUri;

震动:使用的是vibrate这个属性,它是长整型数组,用于设置手机静止和振动时长,下标0表示手机静止时长1表示响铃时长,2又是静止时长,3又是响铃时长以此类推

long[] vibrates={0,1000,1000,1000};

notification.vibrate=vibrates;

前置led闪光灯:

notification.ledARGB=Color.GREEN;

notification.ledOnMs=1000;

notification.ledOffms=1000;

notification.flags=Notification.FLAG_SHOW_LIGHTS;

0 0
原创粉丝点击