【发布时间】:2016-07-22 15:39:30
【问题描述】:
我正在创建一个将以“信息亭”模式运行的全屏应用程序,因此用户将无法退出。该应用程序被定义为启动器(主屏幕)。
清单中的Activity 定义为:
android:theme="@android:style/Theme.NoTitleBar.Fullscreen"
此外,Activity 确保全屏模式在其onCreate() 中具有以下内容:
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
但是,状态栏似乎仍然可以访问。默认情况下它是隐藏的,但仍然可以通过触摸并下拉屏幕顶部来显示它(它以半透明背景而不是通常的纯黑色显示)。
我已经知道我可以通过在屏幕顶部添加一个透明的 10px 系统覆盖窗口来吸收触摸事件来防止这种情况。但我删除了这个 hack,因为我认为没有必要。
我确信这一切正常,并且在不求助于黑客的情况下阻止了状态栏的显示。但是某处发生了一些变化。我已更新到最新的库存固件和系统软件 - 也许这改变了这一点?
设备当前正在运行Android 4.4.4。我相信它可能已经在 4.4.1 之前。
这曾经可能吗?更有可能是 Android 中的某些内容发生了变化,还是我损坏了某些东西,或者这一直都被损坏了而我才注意到?
请注意,这是针对无法植根的专用工业设备(Honeywell Dolphin 75e)。
【问题讨论】:
-
您好,我正在开发相同类型的应用程序,请您帮忙。我正在尝试禁用状态栏以及主页和历史记录 btn
-
我最终不得不在我的应用程序中使用透明覆盖层来拦截触摸事件。
-
你能和我分享一个代码吗,因为我试过了,但导航显示在棒上方
标签: android android-service fullscreen android-statusbar