Android:显示/隐藏状态栏/电源栏

标签 android show-hide statusbar

我正在尝试创建一个按钮,我可以在其中隐藏或显示平板电脑上的状态栏。

我已经加入了 onCreate

getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);

在按钮中 显示:

WindowManager.LayoutParams attrs = getWindow().getAttributes();
attrs.flags &= ~WindowManager.LayoutParams.FLAG_FULLSCREEN;
getWindow().setAttributes(attrs);

隐藏:

WindowManager.LayoutParams attrs = getWindow().getAttributes();
attrs.flags |= WindowManager.LayoutParams.FLAG_FULLSCREEN;
getWindow().setAttributes(attrs);

任何提示/提示?

//编辑

我在这里看到了这个提示:http://android.serverbox.ch/?p=306 并像这样更改了我的代码:

private void hideStatusBar() throws IOException, InterruptedException {
    Process proc = Runtime.getRuntime().exec(new String[]{"su","-c","service call activity 79 s16 com.android.systemui"});
    proc.waitFor();
}

private void showStatusBar() throws IOException, InterruptedException {
    Process proc = Runtime.getRuntime().exec(new String[]{"am","startservice","-n","com.android.systemui/.SystemUIService"});
    proc.waitFor();
}

因此,如果我单击按钮并调用方法,我可以看到正在发生某些事情,因为应用程序正在等待几秒钟。 我还查看了 LockCat,发现发生了一些事情。

显示:http://pastebin.com/CidTRSTi 隐藏:http://pastebin.com/iPS6Kgbp

最佳答案

您是否在 list 中设置了全屏主题?

android:theme="@android:style/Theme.NoTitleBar.Fullscreen"

如果没有这个,我认为你将无法全屏显示。

我将使用以下内容来添加和删除全屏标志:

// Hide status bar
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
// Show status bar
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);

关于Android:显示/隐藏状态栏/电源栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8273186/

相关文章:

iOS7 侧边菜单状态栏颜色过渡。如在 iOS7 Facebook 应用程序中

c# - WPF,从 UserControl 更新主窗口中的状态栏

android - Framework 7 AJAX GET 请求不适用于 Phonegap Android 构建

android - 当项目已经评估时,Flutter 无法运行 Project.afterEvaluate(Closure)

javascript - 在开头而不是在单击后隐藏 FX.slide 内容

javascript - 在 AngularJS 中使用一个函数控制两个 span 标签

android - 通过 RetroFit 2 调用 Rest API 并使用 RecyclerView 时出现 NullPointerException

Android checkLocationSettings 从未在 onResume 中调用

javascript - 在同一页面上显示/隐藏多个部分 View

java - Android:保持通知处于 Activity 状态