Android Notification 学习笔记(普通通知+可操作通知+进度条通知)

文章目录

  • Notification
    • 实现通知
    • 实现Notification全部代码

Notification

实现通知

  1. 创建一个NotificationManager

    • NotificationManager类是一个通知管理器类,该对象以单例模式方式获得
    • 是一个系统服务,即可以通过Activity.getSystemService(String)方法获取Context.NOtifICAtiON_SERVICE来返回到NotificationManager
    manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);//创建一个NotificationManager
    
  2. 使用Builder构造器来创建Notification对象

    • 可以保证程序在所有的版本上都能正常工作
    • 通过链式结构来设置Notification的属性
      • setContentTitle(String string) 标题
      • setContentText(String string) 文本内容
      • setSmallIcon(int icon) 小图标
      • setLargeIcon(Bitmap icon) 大图标
      • setContentIntent(PendingIntent intent) 跳转事件
      • setAutoCancel(boolean) 点击后自动清除通知
    //Notification notification =new NotificationCompat.Builder(context,channelId).build();
           notification = new NotificationCompat.Builder(this, "zgs")
                .setContentTitle("zgs设置的通知")//设置标题
                .setContentText("点击通知进入登录界面")//设置文本内容
                .setSmallIcon(R.drawable.ic_baseline_favorite_border_24)//设置小图标
                .setColor(Color.parseColor("#ff0222"))//设置小图标颜色
                .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.bairen))//设置大图标
                .setContentIntent(pendingIntent)//跳转事件
                .setAutoCancel(true)//点击后消失
                .build();
  1. NotificationChanel 通知渠道

    • Android 8.0引入的功能
    • NotificationManager类中通知的重要程度(从低到高):
      • IMPORTANCE_NONE:关闭通知
      • IMPORTANCE_MIN:开启通知,不会弹出,没有提示音,状态栏中无显示
      • IMPORTANCE_LOW:开启通知,不会弹出,没有提示音,状态栏中显示
      • IMPORTANCE_DEFAULT:开启通知,不会弹出,发出提示音,状态栏中显示
      • IMPORTANCE_HiGH:开启通知,会弹出,发出提示音,状态栏中显示
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
         //版本判断:8.0版本以上才用得到
        channel = new NotificationChannel
            ("zgs", "NotificationText", NotificationManager.IMPORTANCE_HIGH);
            manager.createNotificationChannel(channel);
        }
        

你可能感兴趣的:(Android,学习,java,android)