美文网首页
Notification的相关使用问题

Notification的相关使用问题

作者: 远行的猿 | 来源:发表于2016-11-14 09:40 被阅读0次

    Notification 使用的过程中遇到的问题点:
    在设置Ticker的时候不能设置大图标,此时必须设置小图标,不知道是为什么原因

      mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
          mBuilder = new NotificationCompat.Builder(this);
          mBuilder.setContentTitle(mActivityInfo.mTitle)
                  .setContentText(mActivityInfo.mDescription)
                  .setLargeIcon(mActivityInfo.mBitmapIcon)//设置通知小ICON
                  .setContentIntent(getDefalutIntent(Notification.FLAG_AUTO_CANCEL))
                  .setTicker("测试通知来啦")
                  .setWhen(System.currentTimeMillis())
                  .setAutoCancel(true)
                  .setPriority(Notification.PRIORITY_DEFAULT)
                  //  .setAutoCancel(true)
                  .setOngoing(false)//ture,设置他为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载,同步操作,主动网络连接)
                  .setDefaults(Notification.DEFAULT_ALL)//向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合
                  //Notification.DEFAULT_ALL  Notification.DEFAULT_SOUND 添加声音 // requires VIBRATE permission
    //                .setSmallIcon(R.mipmap.ic_launcher);//设置通知小ICON
          mNotificationManager.notify(1, mBuilder.build());
          ```
    
    一直显示不了大图标。如果把小图标设置好,并且把SetTicker注释掉就好了。
     ```java
          mNotificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
          mBuilder = new NotificationCompat.Builder(this);
          mBuilder.setContentTitle(mActivityInfo.mTitle)
                  .setContentText(mActivityInfo.mDescription)
                  .setLargeIcon(mActivityInfo.mBitmapIcon)//设置通知小ICON
                  .setContentIntent(getDefalutIntent(Notification.FLAG_AUTO_CANCEL))
    //              .setTicker("测试通知来啦") //通知首次出现在通知栏,带上升动画效果的
                  .setWhen(System.currentTimeMillis())
                  .setAutoCancel(true)
                  .setPriority(Notification.PRIORITY_DEFAULT)
                  //  .setAutoCancel(true)//设置这个标志当用户单击面板就可以让通知将自动取消
                  .setOngoing(false)//ture,设置他为一个正在进行的通知。他们通常是用来表示一个后台任务,用户积极参与(如播放音乐)或以某种方式正在等待,因此占用设备(如一个文件下载,同步操作,主动网络连接)
                  .setDefaults(Notification.DEFAULT_ALL)//向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合
                  //Notification.DEFAULT_ALL  Notification.DEFAULT_SOUND 添加声音 // requires VIBRATE permission
                    .setSmallIcon(R.mipmap.ic_launcher);//设置通知小ICON
          Log.i("textData", "ok");
          mNotificationManager.notify(1, mBuilder.build());
          ```
      如果是想要显示消息列表 只是需要把notify的第一个参数修改一下比如现在是1 修改成2就可以,这是一个通知标识。
    
    但是这样子写的话 还是有问题 我用了华为和vivo的手机测试没有问题。乐视和魅族好像显示都有问题。所以最好采用app的默认图标显示。

    相关文章

      网友评论

          本文标题:Notification的相关使用问题

          本文链接:https://www.haomeiwen.com/subject/tqkhpttx.html