小记,Notification的使用

转载请注明原创出处,谢谢!
  • 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的使用)