更改状态栏颜色而不使用窗口



我想在后台操作状态栏(例如颜色(。我正在使用前台服务来执行此操作。 因此,没有窗口,因为它发生在后台,特别是没有活动。但是,该功能

public abstract void setStatusBarColor (int color)

由抽象类 Window: https://developer.android.com/reference/android/view/Window.html 调用

因此,因为它是抽象的,所以我无法启动它,也不能使用 getWindow((,因为我没有实现活动类。以下答案使用活动。有没有其他方法可以实现这一点?如何在安卓中更改状态栏颜色

所以因为它(setStatusBarColor()(是抽象的,我不能启动它,也不能使用getWindow()

不应该自己创建Window类的实例,那就是您应该从框架中获取的内容,特别是从活动中获取的内容。只要您没有活动,就无法获得对 Window实例。

假设您的应用程序的进程不在前台(即没有任何可见的活动(,然后,您无法更改状态栏的颜色。

想象一下,框架允许做这样的事情,那么它可能会被滥用恶意应用程序每秒随机更改状态栏颜色,当用户甚至没有打开了恶意应用程序。我认为这将被视为缺陷,而不是功能。

相关内容

  • 没有找到相关文章