Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 当应用程序处于后台时,如何更改状态栏的颜色?_Android_Android Statusbar - Fatal编程技术网

Android 当应用程序处于后台时,如何更改状态栏的颜色?

Android 当应用程序处于后台时,如何更改状态栏的颜色?,android,android-statusbar,Android,Android Statusbar,我可以将状态栏颜色更改为绿色,但当应用程序处于后台时单击“主页”按钮时,状态栏将恢复为其原始颜色。我想保留状态栏的颜色,即使应用程序在后台。当有呼叫连接时,状态栏呈绿色 这是我更改状态颜色的代码 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { getWindow().setStatusBarColor( ContextCompat.getColor(context,R.color.colorA

我可以将状态栏颜色更改为绿色,但当应用程序处于后台时单击“主页”按钮时,状态栏将恢复为其原始颜色。我想保留状态栏的颜色,即使应用程序在后台。当有呼叫连接时,状态栏呈绿色

这是我更改状态颜色的代码

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
    getWindow().setStatusBarColor(
        ContextCompat.getColor(context,R.color.colorAccent)); 
}
当应用程序被带到后台和前台时,将调用
onPause()
onResume()
方法。但是,在应用程序第一次启动时和终止之前也会调用它们

没有任何直接的方法可以在后台或前台获取应用程序状态,但即使是我也遇到了这个问题,并通过
onWindowFocusChanged
onStop
找到了解决方案。 有关更多详细信息,请查看

快乐编码

当应用程序被带到后台和前台时,会调用
onPause()
onResume()
方法。但是,在应用程序第一次启动时和终止之前也会调用它们

没有任何直接的方法可以在后台或前台获取应用程序状态,但即使是我也遇到了这个问题,并通过
onWindowFocusChanged
onStop
找到了解决方案。 有关更多详细信息,请查看


快乐编码

发布您的代码。发布您的代码。正如您所建议的,如果(Build.VERSION.SDK_INT>=Build.VERSION_CODES.LOLLIPOP){getWindow().setStatusBarColor(ContextCompat.getColor(this,R.color.colorAccent));},我添加了我的代码以更改状态颜色状态颜色随着您建议的appAs一起收缩,我添加了我的代码来更改状态颜色,如果(Build.VERSION.SDK_INT>=Build.VERSION_code.LOLLIPOP){getWindow().setStatusBarColor(ContextCompat.getColor(this,R.color.colorAccent));}状态颜色随着应用程序的出现而缩小