zoukankan      html  css  js  c++  java
  • 如何解决android 通知栏不显示的问题

    android 8.0 以后的版本,在创建通知栏的时候,加了一个channelId的东西。要想在上述版本中显示通知,总共分两步

    1.创建Channel

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
      String channelId = "whatever"; //根据业务执行
      String channelName = "whatever conent"; //这个是channelid 的解释,在安装的时候会展示给用户看
      int importance = NotificationManager.IMPORTANCE_HIGH;
      createNotificationChannel(channelId, channelName, importance);
    
    }

    2.引用

    Notification notification = new Notification.Builder(this,"whatever") //引用加上channelid
      .setSmallIcon(R.drawable.donkey)
      .setWhen(System.currentTimeMillis())
      .setContentTitle("随便")
      .setContentText("随随便便写")
      .setContentIntent(pendingIntent)
      .build();

    为了兼容android所有版本,最好在代码里做一下适配

    manager = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    
    Intent intent = new Intent(this, AudioPlayerActivity.class);
    intent.putExtra("Notifiction",true);
    
    
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
      String channelId = "whatever"; //根据业务执行
      String channelName = "whatever conent"; //这个是channelid 的解释,在安装的时候会展示给用户看
      int importance = NotificationManager.IMPORTANCE_HIGH;
      createNotificationChannel(channelId, channelName, importance);
    
    }
    
    PendingIntent pendingIntent = PendingIntent.getActivity(this,1,intent,PendingIntent.FLAG_UPDATE_CURRENT);
    Notification notification = null;
    if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
    
      notification = new Notification.Builder(this,"whatever") //引用加上channelid
        .setSmallIcon(R.drawable.donkey)
        .setWhen(System.currentTimeMillis())
        .setContentTitle("随便")
        .setContentText("随随便便写")
        .setContentIntent(pendingIntent)
        .build();
    }else{
      notification = new Notification.Builder(this)
        .setSmallIcon(R.drawable.donkey)
        .setWhen(System.currentTimeMillis())
        .setContentTitle("随便")
        .setContentText("随随便便写")
        .setContentIntent(pendingIntent)
        .build();
    }
    
    manager.notify(1,notification);
    请关于一下啦^_^

    微信公众号

  • 相关阅读:
    Java中的final关键字解析
    twaver html5 如何设置节点不可拖动
    Redis Cluster 强制kill某一个节点和shutdown某一个节点后修复过程
    Redis Cluster 4.0.9 集群安装搭建
    Redis Cluster 获取主从关系
    Linux 只复制目录,不复制目录下数据文件
    安装redis cluster时:undefined method `invoke_with_build_args' for nil:NilClass
    redis : Can't save in background: fork: Cannot allocate memory
    MySQL 5.6 GTID 原理以及使用
    pt-query-digest使用详解
  • 原文地址:https://www.cnblogs.com/haloujava/p/11376290.html
Copyright © 2011-2022 走看看