代码之家  ›  专栏  ›  技术社区  ›  Lakindu Akash

状态栏通知图标未更改-API 23

  •  0
  • Lakindu Akash  · 技术社区  · 8 年前

    我用前台服务设置了一个正在进行的通知。这是密码。

    NotificationCompat.Builder notificationBuilder= new NotificationCompat.Builder(this,"unique")
                .setSmallIcon(R.drawable.ic_mms_black_24dp)
                .setContentTitle("My notification")
                .setContentText("Hello World!")
                .setPriority(NotificationCompat.PRIORITY_DEFAULT);
    
        Notification notification= notificationBuilder.build();
        startForeground(MY_ID,notification);
    

    但我所设定的图标 setSmallIcon() 没有效果,相反,它会在android 6上运行的状态栏和通知面板上显示默认的应用程序图标。但是在那之后,我在android 5.1.1(api级别22)上运行了上面的代码,它显示了正确的图标。我尝试了不同类型的图标(png,xml),结果都很好。但在我的棉花糖上它只显示默认的应用程序图标。

    我怎么知道原因?

    来自Android 6(图标位于最左角):

    From Android 6(Icon is at the left most corner

    来自Android 5(图标位于最左角): From Adroid 5

    编辑 :我也试过白色图标。但仍有通知显示默认的应用程序图标。图标有大小限制吗?但是XML图标是可伸缩的。

    2 回复  |  直到 8 年前
        1
  •  0
  •   user9860577    8 年前

    看来问题出在操作系统的制造上。EMUI 4.0+中存在不显示自定义通知图标的问题。它只在状态栏中显示应用程序默认图标。如果你的车型有电动车组,那就是问题所在。本指南可能有助于解决此问题- How to enable ui tuner EMUI 4 .

        2
  •  1
  •   user3911483    8 年前

    很可能是因为你的图标是黑色的。

    对于最新的Android版本,您需要通知图标为白色。

    状态栏图标仅由透明屏幕上的白色像素组成 背景

    你可以在这里查看指南- https://developer.android.com/guide/practices/ui_guidelines/icon_design_status_bar

    还要确保你有所有正确的尺寸要求不同的屏幕密度以及。

    推荐文章