Android 通知栏使用介绍(一)

来源:互联网 发布:淘宝新广告法禁用词 编辑:程序博客网 时间:2024/05/17 23:11

     通知栏是一个经常使用但没有仔细研究的功能,平时都是copy现成代码,等到自己去做新功能时发现自己对通知栏具体细节不了解,仔细研究了一下,平时的用法大致有较为熟悉的用法!自己平时用到的功能还是要仔细去研究下才好,别等到关键时刻用到的时候发现自己其实不会!

    通知栏 :Notification

    很直观的理解就是手机顶部栏显示的通知,来信息会显示,点击能进去某个界面!看似简单,其实很多需要去人为控制,包括来信息时显示信息,通知栏的图片,声音,点击进去到什么界面,是否可以清除等等。那本文会对这些细节进行介绍。

 以下为具体显示一个通知栏的代码:

  public static void showNotify(Context context,int notifyId)
    {
        Intent intent = new Intent();

        (API推荐加上此参数,但实验之后不加也没问题);
      // intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
      // intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
        
        PendingIntent notifyIntent = PendingIntent.getActivity(context, notifyId, intent,
                PendingIntent.FLAG_CANCEL_CURRENT);

       //PendingIntent notifyIntent = PendingIntent.getActivity(context, notifyId, intent,
                PendingIntent.FLAG_UPDATE_CURRENT);

      (上面两种情况的模式实验没发现有什么区别,一般用cancel)


        Notification msgNoti = new Notification(); (此处为一种初始化方法1)

        // msgNoti.icon = R.drawable.baidu_logo;(显示的图标
       //  msgNoti.tickerText = "adfadfafd.";(通知来了之后一闪而过的消息)

        (此处为一种初始化方法2,第一个参数为显示图片,第二个参数为一闪而过的消息)
        msgNoti = new Notification(R.drawable.ic_launcher, "adfadfafd", System.currentTimeMillis());

       //这个参数表示通知栏的属性,一般为FLAG_AUTO_CANCEL,点击后自动消失,
        msgNoti.flags = Notification.FLAG_NO_CLEAR;(无法被清除,一般不会使用)
        msgNoti.defaults = Notification.DEFAULT_ALL;(默认的声音,灯光提示设置)

       以下为具体显示内容: (第一个参数为标题,第二个参数为内容,如图二)
        msgNoti.setLatestEventInfo(context, "title.........",  "tikereText.................", notifyIntent);
        
        NotificationManager nm = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
        nm.notify(notifyId, msgNoti);
        }

        红色部分为 tickerText显示的内容

     (图一)

    

     (图二)

     

       以上为一个简单的通知栏的显示,后续再介绍自定义通知栏。

     (ps:等到自己来写博客时真心佩服那些坚持写下来而且写的很好的博主!)

原创粉丝点击