我正在为一所学校开发一个Android应用程序,我想打开这个应用程序,以防止用户在设备上做任何事情,除了我在我的应用程序内提供的东西,我的意思是什么也不做...所以首先导航栏应该被禁用和隐藏
我看到了这一点,但它适用于4.4版,它并不能解决问题,因为如果你滑动屏幕,你将返回菜单。(如何在android活动中永久隐藏导航栏?)
这也不起作用(在活动中永久隐藏导航栏)(有没有办法在Android ICS中隐藏系统/导航栏)我也尝试使用onKeyDown禁用导航栏操作,但对所有键都不起作用。
此外,我想删除通知栏,使用户访问设备的设置和其他东西。.
这也不起作用(禁止下拉通知面板),正如在这个链接中提到的,它不能解决它,它只是在显示它后隐藏它:S
我们将不胜感激,
谢谢。
您不能禁用Android系统或通知面板。
您可以隐藏这些元素(就像您已经发现的那样),但目前无法永久禁用它们。
您正在寻找不支持的“信息亭模式”。
最接近您所寻找的是“沉浸式模式”(细节)——但这不会永久隐藏设置或导航控件。
要禁用状态通知栏,请执行以下操作:
您需要在通知栏顶部放置一个视图,以便我们将触摸事件劫持到状态通知栏。不用多说,下面是代码:
mView= new TextView(this);
mView.setText(".........................................................................");
mLP = new WindowManager.LayoutParams(
WindowManager.LayoutParams.MATCH_PARENT,
100,
// Allows the view to be on top of the StatusBar
WindowManager.LayoutParams.TYPE_SYSTEM_ERROR,
// Keeps the button presses from going to the background window
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE |
// Enables the notification to recieve touch events
WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |
// Draws over status bar
WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN,
PixelFormat.TRANSLUCENT);
mLP.gravity = Gravity.TOP|Gravity.CENTER;
mWindowManager = (WindowManager) getSystemService(WINDOW_SERVICE);
mWindowManager.addView(mView, mLP);
由于您正在使用“系统覆盖”窗口,您需要以下权限:
<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />
注:
不要让你的应用程序全屏显示,因为支持沉浸式模式的17以上版本会破坏这种方法。
您可以在Android 5.0中获得一个kiosk类型模式,使用这里提到的屏幕锁定功能:
Android 5.0引入了一个新的屏幕固定API,允许您临时限制用户离开任务或被通知中断。例如,如果您正在开发一个教育应用程序,以支持Android上的高风险评估要求,或者一个单一用途的应用程序或kiosk应用程序,则可以使用此功能。一旦应用程序激活屏幕锁定,用户将无法看到通知、访问其他应用程序或返回主屏幕,直到应用程序退出该模式。
您可以将设备锁定为信息亭。导航栏不隐藏,但可以删除或禁用“主页”和“最近”按钮,具体取决于激活模式的方式。在这里测试了这个特性之后,我写了一些信息。
我正在做一个应用程序,并有权访问系统权限。我想让导航栏永久隐藏,它甚至不应该出现在用户交互上。 现在我使用这段代码,它隐藏了条,但当用户触摸屏幕时,它会再次显示。是否有任何方法可以永久隐藏它,直到活动停止(); 如有任何关于最佳实施的技术咨询或意见/建议,将不胜感激。
是否可以永久删除活动上的导航栏?我想删除与按钮出现在平板电脑屏幕上的按钮,而不是操作栏。这里。 我知道不建议那样做,我没有做这个决定,但我需要这样做。在我的布局上,还有一个按钮离开活动。我的应用程序的其余部分可以有导航栏。 我找到了这段代码,并对其进行了一些修改。问题是,即使我隐藏了导航栏,也会留下一个黑色的空间。我猜系统计算屏幕大小时考虑了导航栏?
我想在我的活动中永久隐藏导航栏(而不是整个系统ui)。现在我正在使用这段代码 它隐藏栏,但是当用户触摸屏幕时,它会再次显示。有没有办法永久隐藏它,直到活动;
在android上隐藏永久系统栏最好的方法是什么?我想要一个没有系统栏的全屏app。到目前为止,我所得到的是隐藏栏,但如果我向上滑动,它就会出现。 有什么建议吗?
问题内容: 我可以使我的应用程序通过SFSafariViewController自动加载此帖子的网址,并且效果很好,唯一的缺点是导航栏。 以这种方式使用SFSafariViewController导航栏时,它是无用的,因为url是只读的,并且“ done”链接除了重新加载页面外不执行任何操作。因此,我想完全隐藏导航栏。 根据已接受答案的注释,建议将我的根视图控制器设置为SFSafariViewCo
我为android制作了一个全屏应用程序,它隐藏了两个导航栏 但这个代码对Jelly Bean不起作用,它只会隐藏一次条,一旦你触摸屏幕,它们就会重新出现。所以我知道下面的代码支持Jelly Bean,但它只隐藏了状态栏: 有人能告诉我如何在Jelly Bean上永久隐藏导航栏吗?