在Android ICS上隐藏系统栏的简便方法

Tra*_*Anh 10 android fullscreen kiosk-mode android-4.0-ice-cream-sandwich

我将为用户提供我的ICS平板电脑以完成调查,因此我希望用户仅使用我的应用程序.他们不应该切换到主屏幕,按后退按钮等,所以我想完全隐藏系统栏.

我的平板电脑扎根,我知道像一些应用程序 可以帮助我,但我并不需要这个应用程序的所有附加功能.

我发现这个教程可以帮助我,但是如果我可以添加代码来做我自己的,那就太棒了.

The*_*eIT 11

经过大量的互联网搜索后,我设法让系统栏隐藏起来并出现在4.2设备中,使用:

隐藏:

Runtime.getRuntime().exec("service call activity 42 s16 com.android.systemui");
Run Code Online (Sandbox Code Playgroud)

或者对于少于14的API使用79而不是42.您可能还需要包含SET_DEBUG_APP权限,在这种情况下,您需要使用系统密钥签署应用程序或将其安装在/ system/app /目录中.

显示:

Runtime.getRuntime().exec("am startservice --user 0 -n com.android.systemui/.SystemUIService");
Run Code Online (Sandbox Code Playgroud)

或者,有些人使用-a(而不是-n)选项,但这会导致我的设备出错:

错误:未找到; 没有服务开始.

对于Android 4.4,有一项称为沉浸式模式的新功能,它隐藏了系统和状态栏.用户通过使用屏幕顶部或底部的边缘滑动来切换系统UI.有关详细信息,请查看:

http://developer.android.com/reference/android/view/View.html#setSystemUiVisibility(int)

在android kitkat中使用新的IMMERSIVE模式

例如:

getWindow().getDecorView().setSystemUiVisibility(
          View.SYSTEM_UI_FLAG_LAYOUT_STABLE
        | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
        | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
        | View.SYSTEM_UI_FLAG_FULLSCREEN
        | View.SYSTEM_UI_FLAG_IMMERSIVE)
Run Code Online (Sandbox Code Playgroud)


ppa*_*eit 8

HideBar具有专门针对此用例的信息亭模式.

可从http://ppareit.github.com/HideBar/免费下载.您也可以在https://play.google.com/store/apps/details?id=be.ppareit.hidebar上找到它.

如果您想将它合并到您自己的测试/调查应用程序中,您可以随时联系开发人员(请参阅电子邮件的链接).可以解释代码或者Intent可以提供隐藏.


jul*_*ian 6

检查此链接:(需要root) http://android.serverbox.ch/?p=306

类似的问题也发布在这里: 有没有办法隐藏Android 3.0中的系统栏?这是一个内部设备,我正在管理导航

或尝试HideBar http://ppareit.github.com/HideBar/

实际上你可以简单地将系统栏置于"熄灯"模式,系统栏按钮和通知变暗.

View v = findViewById(R.id.view_id);
v.setSystemUiVisibility(View.STATUS_BAR_HIDDEN);
Run Code Online (Sandbox Code Playgroud)