1

我目前正在为盲人开发一个应用程序。我需要的是防止用户意外离开我的应用程序,所以我试图在 Android 4 中覆盖/替换/隐藏软按钮。我知道这一定是可能的,因为它例如在MXPlayer中使用(你可以“播放视频时锁定”屏幕)。

我试图覆盖所有三个按钮(返回、主页、最近的应用程序)。回家和回家没问题,但我不知道如何覆盖(禁用)最近的应用程序。我已经尝试过这里描述的解决方案但没有成功。

下一个想法是覆盖整个屏幕。我已经成功创建了这个问题中提到的系统覆盖,但我没有找到如何覆盖我的软按钮。

你知道如何在不root手机和使用自定义ROM的情况下解决这个问题吗?

编辑:我还尝试使用 SYSTEM_UI_FLAG_LOW_PROFILE(将按钮变成点)和 SYSTEM_UI_FLAG_HIDE_NAVIGATION(隐藏按钮直到下一次触摸)隐藏按钮。不幸的是,这也不能解决我的问题,因为触摸按钮照常工作。也许有一种方法可以捕捉“取消隐藏”再次显示它们的覆盖?

4

1 回答 1

3

来自Android 文档

SYSTEM_UI_FLAG_LOW_PROFILE 标志替换了 STATUS_BAR_HIDDEN 标志。设置后,此标志为系统栏或导航栏启用“低调”模式。导航按钮变暗,系统栏中的其他元素也隐藏。启用此功能对于创建更具沉浸感的游戏很有用,而不会分散系统导航按钮的注意力。

SYSTEM_UI_FLAG_VISIBLE 标志替换 STATUS_BAR_VISIBLE 标志以请求系统栏或导航栏可见。

SYSTEM_UI_FLAG_HIDE_NAVIGATION 是一个请求导航栏完全隐藏的新标志。请注意,这仅适用于某些手机使用的导航栏(它不会隐藏平板电脑上的系统栏)。一旦系统接收到用户输入,导航栏就会返回视图。因此,此模式主要用于视频播放或其他需要整个屏幕但不需要用户输入的情况。

于 2013-02-16T13:21:20.280 回答