zoukankan      html  css  js  c++  java
  • 适配Android O的通知

    创建类

    public class NotificationUtils extends ContextWrapper {
    
        private NotificationManager manager;
        public static final String id = "channel_1";
        public static final String name = "channel_name_1";
    
        public NotificationUtils(Context context){
            super(context);
        }
    
        public void createNotificationChannel(){
            NotificationChannel channel = new NotificationChannel(id, name, NotificationManager.IMPORTANCE_HIGH);
            getManager().createNotificationChannel(channel);
        }
        private NotificationManager getManager(){
            if (manager == null){
                manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
            }
            return manager;
        }
        public Notification.Builder getChannelNotification(String title, String content){
            return new Notification.Builder(getApplicationContext(), id)
                    .setContentTitle(title)
                    .setContentText(content)
                    .setSmallIcon(android.R.drawable.stat_notify_more)
                    .setAutoCancel(true);
        }
        public NotificationCompat.Builder getNotification_25(String title, String content){
            return new NotificationCompat.Builder(getApplicationContext())
                    .setContentTitle(title)
                    .setContentText(content)
                    .setSmallIcon(android.R.drawable.stat_notify_more)
                    .setAutoCancel(true);
        }
        public void sendNotification(String title, String content){
            if (Build.VERSION.SDK_INT>=26){                                                   //api>=26时
                createNotificationChannel();
                Notification notification = getChannelNotification
                        (title, content).build();
                getManager().notify(1,notification);
            }else{
                Notification notification = getNotification_25(title, content).build();
                getManager().notify(1,notification);
            }
        }
    }
    

    使用

    NotificationUtils notificationUtils = new NotificationUtils(view.getContext().getApplicationContext());
    notificationUtils.sendNotification("测试标题", "测试内容");
    
  • 相关阅读:
    为什么要用<!DOCTYPE>声明
    [asp.net core] Tag Helpers 简介(转)
    asp.net core输出中文乱码的问题
    探索Aspnetcore+mysql+efcore
    [Redis]发布/订阅
    [Centos 6]升级安装GCC(2)
    [Centos]升级安装GCC
    [小程序]那些icons
    初探微信小程序
    [CentOs7]搭建ftp服务器(3)——上传,下载,删除,重命名,新建文件夹
  • 原文地址:https://www.cnblogs.com/Mr-quin/p/8584797.html
Copyright © 2011-2022 走看看