有没有办法隐藏Android 3.0中的系统栏?这是一个内部设备,我正在管理导航

vel*_*cod 32 android android-3.0-honeycomb

在Android 2.3及更低版本中,您可以全屏显示应用程序,然后通过返回false onKeyDown()来"劫持"菜单/返回/搜索按钮...并将应用程序注册为默认的主启动器应用程序,这样,没有办法退出应用程序.

在Android 3.0(Honeycomb)中,导航按钮(系统栏)始终存在,我想隐藏它.可能吗?

仅供参考,我不会在Android Market上发布此应用程序.这是将在内部使用的设备的内部应用程序,我需要保护设备.

vel*_*cod 31

由于无法使用公共API进行此操作,因此我找到了一种以非常"hack-ish"方式执行此操作的方法,该方法需要使用root设备.

更新:如下面的user864555所示,这是另一种解决方案

$ adb remount
$ adb shell mv /system/app/SystemUI.odex /system/app/SystemUI.odexold
$ adb shell mv /system/app/SystemUI.apk /system/app/SystemUI.apkold
$ adb reboot
Run Code Online (Sandbox Code Playgroud)

"该代码禁用了实际菜单栏的应用程序SystemUI.哪个修改,你也将获得该系统栏的空间.但请确保有一个后退按钮或退出的东西."

这也很有效.请投票给他答案.我会尽量保持这个更新.


更新:这是第三种方法.一种以编程方式或使用命令行执行此操作的方法.在这里找到:http://android.serverbox.ch/?p = 306

此方法需要root访问权限,但您无需更改LCD密度,保持与原始密度相同,并且您可以非常快速轻松地恢复UI导航栏,而无需每次都重新启动.

博客文章还展示了如何实现它在你的Android应用程序,记住它需要root,它可能不是一个好主意,这样做,除非你的应用程序在亭或您自己的设备上运行,请不要执行此方法一个在Android市场或任何公共场合发布的应用程序.

要停止/删除/禁用系统栏(在发出此命令之前需要su):

$ service call activity 79 s16 com.android.systemui
Run Code Online (Sandbox Code Playgroud)

要恢复系统栏,只需发出以下命令:

$ am startservice -n com.android.systemui/.SystemUIService
Run Code Online (Sandbox Code Playgroud)

就这么简单.希望ICS很快就会发布源代码,这样任何人都可以为我们的Kiosk平板电脑构建Android.


Rom*_*Guy 11

您无法在Android 3.0上隐藏系统栏.

  • 您意识到即使在手机上,用户也可以在安全模式下重启(在启动过程中按住Home键)以禁用所有第三方应用程序(这意味着您的应用程序)并运行标准应用程序/卸载第三方应用程序?Android旨在确保用户仍然可以控制他的设备. (13认同)
  • 您可以将系统栏置于"熄灯"模式,此时所有按钮和通知都将变暗/隐藏.你可以之前全屏,因为设备必须有一个硬件主页按钮,情况不再如此.用户必须能够始终回家. (4认同)
  • 有点糟糕吗?甚至没有视频游戏或电影? (2认同)

dar*_*gel 7

如果你有权访问系统文件,你可以这样做(我的解锁和植根,所以我不确定你需要什么,我没有尝试过工厂新鲜的xoom):

adb shell
cd /system/app/
mv SystemUI.odex SystemUI.odexold
mv SystemUI.apk SystemUI.apkold
exit
adb reboot
Run Code Online (Sandbox Code Playgroud)

该代码禁用了实际菜单栏的应用程序SystemUI.通过该修改,您还将获得该系统栏的空间,但请确保您有一个后退按钮或某些内容可在您的应用中退出.

编辑:

如果您有只读文件的问题,那么您需要将/system目录挂载为读写.为此,请在adb shell中使用此命令(来源:http://forum.xda-developers.com/showthread.php? t = 1159495&page = 5)

mount -o remount,rw /dev/block/stl6 /system
Run Code Online (Sandbox Code Playgroud)

您可以使用该命令将其重新安装为只读:

mount -o remount,ro /dev/block/stl6 /system
Run Code Online (Sandbox Code Playgroud)

编辑:

此方法允许在需要时正常显示软键盘.