android疑难问题

Android Notificatin 通知

2020-01-01  本文已影响0人  NullPoint3Exce

通知的简单使用

1-通知渠道:android 8.0 必须设置通知渠道,否则通知不会显示。
2-通知图标问题:android 5.0 谷歌为了统一风格,统一使用背景为透明(经测试单色的图片也可以)的图标,否则显示一个白色图标。如图


image.png

3-使用背景色为透明的图片,最终效果为:


元素图 最终效果图

注意状态栏图片的颜色,还是白色,但是图片图案是正常的。
这是什么问题呢?查看源码,发现是官方故意做的。想了解的同学可以去查看官方代码,这里不做介绍。

4-普通的通知三要素:小图标 标题 内容

    // 获取通知的管理器
        NotificationManager notificationManager = (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);

        // android 8.0  以上才有 通知渠道
        if (Build.VERSION.SDK_INT>= 26){

            NotificationChannel notificationChannel = new NotificationChannel("id", "unKnowName", NotificationManager.IMPORTANCE_DEFAULT);

            // 设置灯的颜色
            notificationChannel.setLightColor(Color.RED);
//            开启呼吸灯
            notificationChannel.enableLights(true);
            // 设置角标
//            notificationChannel.setShowBadge(true);
            notificationChannel.setDescription("这是渠道描述");


            notificationManager.createNotificationChannel(notificationChannel);
        }

        Intent intent = new Intent(this, MainActivity2.class);
        // 延时意图
        PendingIntent pendingIntent = PendingIntent.getActivity(this, 11, intent, PendingIntent.FLAG_UPDATE_CURRENT);

        // 创建通知对象
        Notification notification = new NotificationCompat.Builder(this, "id")

                .setSmallIcon(R.drawable.zfb)
                .setContentTitle("HHHHHHHHHHH")
                .setContentText("GGGGGGGGGGGGGGGGGGGGG")
                .setContentIntent(pendingIntent)
                .setAutoCancel(true)
                .build();


        // 发送通知对象
        notificationManager.notify(111,notification);
上一篇下一篇

猜你喜欢

热点阅读