如何动态更改状态栏中的文本

时间:2020-05-28 08:04:36

标签: java android android-studio android-notifications statusbar

我想创建一个将show internet speed as notification in status bar用作问题的应用程序,当我创建通知时它仅显示图标,但我认为这不是(if you think there is a way using this then how ?)的方式,我使用了此代码段来显示通知,但如果我希望其他人也能如您所见,leftmost side的屏幕截图中该怎么做:

Intent intent = new Intent(this, MainActivity.class);
    PendingIntent contenIntent = PendingIntent.getActivity(this,
            0, intent, 0);

    NotificationCompat.Builder notification = new NotificationCompat.Builder(this, CHANNEL_ID_2)
            .setLargeIcon(getBitmapFromString("22", 20, this))
            .setContentTitle("Title")
            .setContentText("Description")
            .setPriority(NotificationCompat.PRIORITY_HIGH)
            .setContentIntent(contenIntent)
            .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
            .setTicker("23")
            .setSmallIcon(android.R.drawable.screen_background_light_transparent)
            .setOnlyAlertOnce(true);

    NotificationManagerCompat notificationManager = NotificationManagerCompat.from(this);
    notificationManager.notify(1, notification.build());

status bar screen shot

文本每秒更改一次通知,它不是伪造的。 我已经尝试过this solution,但由于与通知图标重叠而无法准确显示。 Any help会非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以绘制要在位图上显示的文本,然后将其设置为通知的图标。

NotificationCompat.Builder notification = new NotificationCompat.Builder(this, CHANNEL_ID_2);

notification.setSmallIcon(Icon.createWithBitmap(getBitmapIcon()))

实现getBitmapIcon()并返回要显示的位图图标。