美文网首页
Android 8.0通知栏适配问题

Android 8.0通知栏适配问题

作者: 小马哒哒001 | 来源:发表于2019-06-05 14:35 被阅读0次

    主要是解决8.0 notification不显示的问题

     public static void showNotifictionIcon(Context context, RowMsgBean mRowMsgBean) {
            MyLog.info("==showNotifictionIcon,更新通知栏 start,mRowMsgBean-->" + JsonManager.toJson(mRowMsgBean));
    
            Intent intent = new Intent(context, MessageListActivity.class);
            PendingIntent intentPend = PendingIntent.getActivity(context, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);
    
            NotificationManager manager = (NotificationManager)context.getSystemService(Context.NOTIFICATION_SERVICE);
            NotificationCompat.Builder builder;
            //判断是否是8.0Android.O
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
                NotificationChannel chan1 = new NotificationChannel("static", "Primary Channel", NotificationManager.IMPORTANCE_HIGH);
                manager.createNotificationChannel(chan1);
                builder = new NotificationCompat.Builder(context, "static");
            } else {
                builder = new NotificationCompat.Builder(context);
            }
    
            builder.setDefaults(NotificationCompat.DEFAULT_SOUND);//设置通知铃声
            Notification notification = builder.setTicker("您有新的消息")
                    .setDefaults(Notification.DEFAULT_ALL)
                    .setSmallIcon(R.mipmap.ic_launcher)
                    .setWhen(System.currentTimeMillis())
                    .setContentIntent(intentPend)
                    .setContentTitle(mRowMsgBean.title)
                    .setContentText(mRowMsgBean.text)
                    .setAutoCancel(true)
                    .build();
    
            if (manager != null && notification != null) {
                manager.notify(1, notification);
            }
            MyLog.info("==showNotifictionIcon,更新通知栏 end");
        }
    

    相关文章

      网友评论

          本文标题:Android 8.0通知栏适配问题

          本文链接:https://www.haomeiwen.com/subject/hwzjxctx.html