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);
    请关于一下啦^_^

    微信公众号

  • 相关阅读:
    MKMapView.showsUserLocation 可能触发了 UIView.setNeedsLayout
    用 Swift 语言写一个地图坐标弹跳动画
    用 Swift 语言写一个地图坐标弹跳动画
    Xcode 7 中 CocoaPods 编译报错 dyld: Library not loaded: @rpath/Pods.framework/Pods
    写于2016年4月
    vue.js组件的详解
    vue.js模拟抽奖
    java数据库的连接
    vue.js的创建
    发布网站的简单教程
  • 原文地址:https://www.cnblogs.com/haloujava/p/11376290.html
Copyright © 2011-2022 走看看