如何在状态栏中显示通知文本?

时间:2018-03-06 16:28:41

标签: android android-notifications

我想在状态栏中显示通知的文字,如下图所示:

enter image description here

但我得到以下内容:

enter image description here

因此,正如您所看到的,我无法在状态栏中显示文字,只显示图标。我的代码如下所示:

Notification notification = new Notification.Builder(this)
            .setSmallIcon(R.drawable.icon)
            .setContentTitle("My app")
            .setTicker("Alex: hey, want to grab lunch?")
            .setWhen(System.currentTimeMillis())
            .setContentText("Alex: hey, want to grab lunch?")
            .setPriority(Notification.PRIORITY_MAX)
            .build();

    NotificationManager notificationManager =
            (NotificationManager) getSystemService(Context.NOTIFICATION_SERVICE);
    notificationManager.notify(0, notification);

我该如何纠正?

1 个答案:

答案 0 :(得分:1)

这完全取决于运行该应用的Android版本。如果它是棒棒糖(5.0)或更高,那么不,文本将不会出现在状态栏中。 From the documentation(我的大胆):

  

总结此无障碍服务通知的文本。 从L版本开始,此文本不再显示在屏幕上,但它对于辅助功能服务仍然有用(其中它用作通知外观的声音通知)。

所以它仍然值得拥有,因为它将被读出给在手机上使用文本到语音可访问性服务的任何人。它只是不会像你期望的那样在你的问题中发挥作用。

或者,如果您希望将通知简要显示为heads-up notification,则可以将通知的优先级设置为PRIORITY_HIGH(最高为API 26):

Notification notification = new Notification.Builder(this)
    ...
    .setPriority(Notification.PRIORITY_HIGH)
    .build();

如果这不起作用,您可能还需要使用NotificationCompat.Builder而不是Notification.Builder