美文网首页Android版本变更
Android 8.0系统的通知栏适配

Android 8.0系统的通知栏适配

作者: yyg | 来源:发表于2018-12-05 10:32 被阅读12次

资料
google 通知文档
一起来学习Android 8.0系统的通知栏适配吧

private void showNotification(Context context, String content) {
        NotificationManager mNotificationManager = (NotificationManager) context.getSystemService(context.NOTIFICATION_SERVICE);
        NotificationCompat.Builder mBuilder;
        //判断是否是8.0Android.
        if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
            NotificationChannel chan1 = new NotificationChannel(“通知渠道的id", "通知渠道的名称", NotificationManager.IMPORTANCE_HIGH);
            chan1.setLightColor(Color.GREEN);
            mNotificationManager.createNotificationChannel(chan1);
            mBuilder = new NotificationCompat.Builder(context, PRIMARY_CHANNEL);
        } else {
            mBuilder = new NotificationCompat.Builder(context);
        }
        Intent notificationIntent = new Intent(context, MainActivity.class);
        notificationIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP);
        PendingIntent intent = PendingIntent.getActivity(context, R.string.app_name, notificationIntent, PendingIntent.FLAG_CANCEL_CURRENT);
        mBuilder.setContentTitle("xxx")//设置通知栏标题
                .setContentText(content)//设置通知栏内容
                .setContentIntent(intent) //设置通知栏点击意图
                .setSmallIcon(R.mipmap.xxx) //设置通知小ICON
                .setAutoCancel(true)
                .setNumber(2) //设置通知集合的数量
                .setTicker("xxx") //通知首次出现在通知栏,带上升动画效果的
                .setWhen(System.currentTimeMillis())//通知产生的时间,会在通知信息里显示,一般是系统获取到的时间
                .setDefaults(Notification.DEFAULT_ALL);//向通知添加声音、闪灯和振动效果的最简单、最一致的方式是使用当前的用户默认设置,使用defaults属性,可以组合
        Notification notify = mBuilder.build();
        mNotificationManager.notify(pushId, notify);
    }

相关文章

网友评论

    本文标题:Android 8.0系统的通知栏适配

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