如何获取当前状态栏颜色?

时间:2018-07-23 13:24:54

标签: android service

我正在开发具有重叠视图的应用程序。无论哪个应用程序正在运行,我都希望检索状态栏的颜色。因此,我想获取应用程序用于着色状态栏的颜色。例如,WhatsApp用绿色为其着色,而Facebook用蓝色为其着色。

我已经知道如何获取当前应用运行的packageName,现在我需要颜色。

我遵循了this answer,并使这种方法像这样:

// Create the attribute set used to get the colorPrimary color
    final int[] attrs = new int[] {
        res.getIdentifier("statusBarColor", "attr", appPackageName),
        android.R.attr.statusBarColor
    };

该数组的第二个位置对于Facebook来说很好用,但是对WhatsApp都不起作用,因此它返回后备Color.WHITE

任何人都可以通过提供所需应用的程序包名称或通过其他任何方式(例如从服务中获取当前状态栏颜色)来帮助使此方法起作用吗?

我的SDK版本当前从21降到25。

0 个答案:

没有答案