小记,Notification的使用

作者: 卖臭豆腐的王致和 | 来源:发表于2018-06-20 09:40 被阅读49次
    转载请注明原创出处,谢谢!
    • GitHub: @Ricco
      最近项目中使用了Notification进行一些通知,遇到了一些小问题,踩了一些小坑,这里简单写一下!

    Notification

    先上代码

    public class NotificationUtil {
        public static void showNotification(Context context, String title, String text) {
            Intent intent = new Intent(context, MainActivity.class);
            PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
            NotificationManager notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE);
            Notification notification = new NotificationCompat.Builder(context)
                    .setContentTitle(title)
                    .setContentText(text)
                    .setStyle(new NotificationCompat.BigTextStyle().bigText(text))
                    .setWhen(System.currentTimeMillis())
                    .setSmallIcon(R.mipmap.ic_notification)//纯alpha图层的图片
                    .setColor(Color.parseColor("#FF1878"))
    //                .setLargeIcon(BitmapFactory.decodeResource(context.getResources(), R.mipmap.ic_launcher))
                    .setContentIntent(pendingIntent)
                    .setAutoCancel(true)
                    .setDefaults(NotificationCompat.DEFAULT_ALL)
                    .setPriority(NotificationCompat.PRIORITY_MAX)
                    .build();
            notificationManager.notify(1, notification);
    
        }
    }
    

    使用上面的代码,已经足够完成大部分操作了。

    值得注意的是几个有意思的参数

    • setSmallIcon
      纯alpha图层的图片,一般为产品LOGO,纯白色,背景透明

    • setColor
      设置的是SmallIcon的颜色

    • setLargeIcon
      一般为本次通知内容的图片
      (个人感觉,默认用的是应用的ic_launcher)不知道对不对,没测试过
      这个一般是用来简单显示一张小图片,显示本次通知的大概内容,吸引用户点击跳转到页面

    • setSmallIcon
      这个参数是必须要设置的,不可以省略,如果省略会GG!
      如果用一张普通的图片,没有经过特殊的处理,会显示一个点,这个点的颜色就是我们设置的setColor

    ps:Notification + BroadcastReceiver + AlarmManager 一般是常用的3件套!!!

    相关文章

      网友评论

        本文标题:小记,Notification的使用

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