美文网首页
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