关闭

安卓学习笔记之通知栏的使用

330人阅读 评论(1) 收藏 举报
分类:

前面学习service的时候,完整地学习了activity,serice,broadcast的一套体系,其中有使用到通知栏,所以就去学习了通知栏的使用,做下笔记,记录一些使用的要点。

builder=new NotificationCompat.Builder(this);
nm=(NotificationManager) getSystemService(NOTIFICATION_SERVICE);
ntf=builder.build();
获取到通知管理器,和通知builder,管理器是用来发送同时和删除通知,builder用来设置通知记录的一些属性。ntf是创建完成的一个通知。通知有个flags属性,这个是控制通知的存在方式。不为这个属性设置任何参数,通知就必须在程序中让管理器主动调用cancle方法才能退出,无法通过用户点击和清除通知。

flags有以下几个可选属性:

Notification.FLAG_AUTO_CANCEL;//用户点击退出
Notification.FLAG_INSISTENT;//一直发送提示信息(如震动),直到打开通知栏
Notification.FLAG_NO_CLEAR;//用户不能通过点击清除删除这个通知
Notification.FLAG_ONGOING_EVENT;//一个正在进行的任务事件,如打电话

如果点击通知后要进行一些操作,比如跳转,或者打开一些程序时,需要通过setcontentintent方法来设置。


注:使用自定义布局时,使用RemoteViews.,然后对布局进行修改是用remoteviews对象通过一些方法来修改,方法中都有一个参数就是控件id,如:

views.setTextViewText(R.id.start, "test");

每次修改了通知栏的一些信息后,用builder再次build一次,然后让管理器再次发送一次通知,记得id一定要相同,如果是修改已发送过了的通知。

为了避免使用卡顿,不能过于频繁地更新界面,比如进度条,最好是设置一定的时间间隔更新。



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:699次
    • 积分:37
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章分类
    文章存档