如何解决android 通知栏不显示的问题
Posted haloujava
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何解决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);
以上是关于如何解决android 通知栏不显示的问题的主要内容,如果未能解决你的问题,请参考以下文章