NotificationCompat.Builder过时和通知显示不了的解决办法
16lz
2021-01-26
按照《第一行代码 android》学通知,发现里面的NotificationCompat.Builder已经过时,需要加一个channelId的参数,加了过后还是显示不了通知,再次搜索发现高版本的模拟器或手机还需要开启渠道才能显示通知,所以最终代码如下:
NotificationManager manager=(NotificationManager)getSystemService(NOTIFICATION_SERVICE);//高版本需要渠道if(Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.O){ //只在Android O之上需要渠道,这里的第一个参数要和下面的channelId一样 NotificationChannel notificationChannel = new NotificationChannel("1","name",NotificationManager.IMPORTANCE_HIGH); //如果这里用IMPORTANCE_NOENE就需要在系统的设置里面开启渠道,通知才能正常弹出 manager.createNotificationChannel(notificationChannel);}//这里的第二个参数要和上面的第一个参数一样Notification notification=new NotificationCompat.Builder(this,"1") .setContentTitle("这是一个内容标题") .setContentText("这是一个内容文本") .setWhen(System.currentTimeMillis()) .setSmallIcon(R.mipmap.ic_launcher) .setLargeIcon(BitmapFactory.decodeResource(getResources(),R.mipmap.ic_launcher)) .build();manager.notify(1,notification);
添加完渠道和参数,通知就可以显示啦!
更多相关文章
- Kotlin基本熟悉
- monkey基础学习
- Android(安卓)activity 转场动画ActivityOptions
- Android(安卓)数据存储(二) 共享参数存储
- Android(安卓)实现通知栏显示多个notification
- android Bundle saveInsanceState
- Android中Junit测试、XML的序列化与解析
- Android(安卓)程序安装地址问题
- Android——Notification的基本使用