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

Java 如何动态更改状态栏中的文本,java,android,android-studio,android-notifications,statusbar,Java,Android,Android Studio,Android Notifications,Statusbar,我想创建一个将在状态栏中将互联网速度显示为通知的应用程序问题是,当我创建通知时,它只显示图标,但我认为这不是方法(如果您认为有一种方法可以使用它,那么如何使用?)我使用这个代码片段来显示通知,但是如果我想要其他人得到的结果,您也可以在最左侧的屏幕截图中看到,应该做什么更改: Intent intent = new Intent(this, MainActivity.class); PendingIntent contenIntent = PendingIntent.getActivity

我想创建一个将
在状态栏中将互联网速度显示为通知的应用程序
问题是,当我创建通知时,它只显示图标,但我认为这不是方法(
如果您认为有一种方法可以使用它,那么如何使用?
)我使用这个代码片段来显示通知,但是如果我想要其他人得到的结果,您也可以在
最左侧的屏幕截图中看到,应该做什么更改:

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());

文本以每秒通知的方式更改,它不是假的。 我已经试过了,但不准确,因为它与通知图标重叠。
任何帮助
都将提前感谢。

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

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

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

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

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

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

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

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

我已经尝试了此
通知。setSmallIcon(icon.createWithBitmap(getBitmapIcon())
但是setSmallIcon只说了错误的参数类型,即它需要int如何解决此问题。还有setSmallIcon(位图位图)是在api级别23中添加的,但另一个应用程序(如上面的屏幕截图)我也可以在api级别22中运行该应用程序。他们是如何做到的?我不确定这一点,但他们可能使用了此类:但现在已弃用。@MdAman,对于api级别>=23的应用程序,请使用
setSmallIcon(位图)
并获取
位图
对象,如此处所述:@cgb\u pandey.setSmallIcon(Icon.createWithBitmap(bitmap))正在抛出错误消息,表示,(int)无法应用于(android.grapjics.bitmap)我已尝试此
通知。setSmallIcon(Icon.createWithBitmap(getBitmapIcon())
但是setSmallIcon只说明了错误的参数类型,即它需要int如何解决这个问题。还有setSmallIcon(位图)是在api级别23中添加的,但另一个应用程序(如上面的屏幕截图)我也可以在api级别22中运行该应用程序。他们是如何做到的?我不确定这一点,但他们可能使用了此类:但现在已弃用。@MdAman,对于api级别>=23的应用程序,请使用
setSmallIcon(位图)
并获取
位图
对象,如此处所述:@cgb_pandey.setSmallIcon(Icon.createWithBitmap(bitmap))正在抛出错误消息,表示,(int)无法应用于(android.grapjics.bitmap)请问有没有人可以解决这个问题,因为在stackoverflow中没有这样做的参考资料。我也搜索了很多。你得到答案了吗?@ShoaibK。不,我没有发现任何东西,不知道他们(像应用程序一样的速度计)是如何做到的。在这里检查我的答案:希望它能解决您的问题。如果您需要更多帮助来显示设备的wifi速度,我也会回答的。请问有没有人可以解决这个问题,因为stackoverflow中没有这样做的参考资料。我也搜索了很多。你得到答案了吗?@ShoaibK。不,我没有发现任何东西,不知道他们(像应用程序一样的速度计)是如何做到的。在这里检查我的答案:希望它能解决你的问题。如果你需要更多帮助来显示设备的wifi速度,我也会回答。