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

    微信公众号

  • 相关阅读:
    258 第七篇:Django-组件-ContentType组件
    257 第七篇:Django-组件-Auth模块
    256 第七篇:Django-组件-中间件组件
    255 第七篇:Django-组件-cookie与session组件
    254 第七篇:Django-组件-forms组件
    253 第七篇:Django-组件-分页器组件
    第二节:2_委托入门笔记
    EF-调用sql进行操作
    1.1常见的错误---登录(菜鸟常遇错误)
    EF-Lamdba
  • 原文地址:https://www.cnblogs.com/haloujava/p/11376290.html
Copyright © 2011-2022 走看看