永久隐藏Android状态栏

2023-12-06

我正在尝试隐藏 Android 4.4 设备上的系统状态栏。这是针对信息亭模式的,其中我的应用程序将是设备上运行的唯一应用程序。目前的目标设备是 2013 款 Nexus 7。

该设备已获得 root 权限,并且我已经能够完全删除底部导航栏,其中包含一些信息这个帖子.

对于顶部状态栏,我所尝试的一切都只是暂时隐藏状态栏。如果我的用户在屏幕顶部向下移动,状态栏会重新出现。我不想让他们看到时间、进入设置甚至看到通知。

我发现并已经尝试过的帖子:

  • 在平板电脑中隐藏系统栏
  • 永久隐藏活动中的导航栏
  • Android 上隐藏状态栏
  • Android 中禁用/隐藏状态栏

有什么建议么?

理想情况下,我希望能够编辑 build.prop 来执行此操作,因为我已经为导航栏执行了此操作,并且可以同时执行此操作。我试图不必构建自己的 Android 映像。

Update:

经过更多工作后,这似乎在某种程度上取决于 Android 的确切构建或其运行的设备。

某些设备(例如我一直使用的 Nexus 系列)允许用户滑动以使栏重新出现。

然而,我最近在 Verizon Eclipse 上尝试过这个,并且该栏没有重新出现,这正是我正在寻找的。

我仍在寻找更好的解决方案来针对所有设备,但它可能会归结为创建我自己的 Android 版本。


我们无法阻止在 Kitkat 设备中以全屏模式显示状态,因此进行了一个仍符合要求的 hack,即阻止状态栏扩展。

为了实现这一点,该应用程序没有全屏显示。我们在状态栏上放置了一个覆盖层并消耗了所有输入事件。它阻止了地位的扩大。

note:

  • customViewGroup 是自定义类,它扩展了任何 布局(框架、相对布局等)并消耗触摸事件。
  • 消费触摸事件重写 onInterceptTouchEvent 方法 查看组并返回 true

Updated

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 

自定义ViewGroup实现 Code :

WindowManager manager = ((WindowManager) getApplicationContext()
            .getSystemService(Context.WINDOW_SERVICE));

WindowManager.LayoutParams localLayoutParams = new WindowManager.LayoutParams();
localLayoutParams.type = WindowManager.LayoutParams.TYPE_SYSTEM_ERROR;
localLayoutParams.gravity = Gravity.TOP;
localLayoutParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE|

            // this is to enable the notification to recieve touch events
            WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL |

            // Draws over status bar
            WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;

    localLayoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
    localLayoutParams.height = (int) (50 * getResources()
            .getDisplayMetrics().scaledDensity);
    localLayoutParams.format = PixelFormat.TRANSPARENT;

    customViewGroup view = new customViewGroup(this);

    manager.addView(view, localLayoutParams);

希望这对您有帮助

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

永久隐藏Android状态栏 的相关文章

  • 在 Android Pie 上启动 context.startService(intent)

    我在 Activity 的 onResume 上启动了一项服务 它在 Oreo 上运行良好 但最近我看到 Android P 崩溃 显示 无法恢复 Activity 不允许启动服务意图 应用程序在后台 有没有人以前见过这个并且能够应用修复
  • Android itemizedOverlay 的 onTap 操作被覆盖

    我有一堂课 class MapItemizedOverlay extends com google android maps ItemizedOverlay
  • 当选择模式为 MultiChoice Modal 时,如何防止激活某些 ListView 项目?

    我有一个由自定义 BaseAdapter 填充的自定义 GridView GridView的选择模式是MultiChoiceModal 我想控制长单击时可以激活哪些项目 同时仍然确保它们响应 短 单击事件 BaseAdapter有一个方法叫
  • 无法解析配置“:app:_debugCompile”的所有依赖项

    我正在尝试在我的 Android 应用程序上使用 Google 地图 我安装了 Google Play 服务并获取了 API 密钥 我不明白为什么我会收到此错误消息 我认为它抱怨以下内容
  • 如何从色彩校正增益获得色温

    我想找出相机拍摄的照片的色温 final CameraCaptureSession CaptureCallback previewSSession new CameraCaptureSession CaptureCallback Overr
  • RecyclerView 滚动不适用于 NestedScrollView

    我有一个布局 其中有一个 NestedScrollView 其中包含一个图像 多个按钮和一个 RecycleView 当我说recyclerView smoothScrollToPosition or recyclerView scroll
  • JellyBean中Services中引入Isolatedprocess标签的优点[Android]

    任何人都可以阐明在 JellyBean Android 的服务中引入isolatedprocess标签的真正 主要优点是什么 这在框架级别或内核级别是否有利 正如我们所看到的 在服务中设置isolatedProcess标签值 true 会为
  • Android 相机 - 将图像保存到 SD 卡中的新文件夹中

    我有一个非常简单的应用程序 目前可以拍照然后保存图像 目前的问题是 由于某种原因 我无法找到图像在手机上的保存位置 我想要做的最终结果是 当拍摄照片时 图像会保存到 SD 卡上创建的新文件夹中 但如果该文件夹尚不存在 则必须创建该文件夹 自
  • 如何在 Android 中恢复我的音频?

    我必须实现用于创建具有暂停和恢复状态的音频的应用程序 当我的应用程序作为启动时音频启动 当我按下模拟器上的后退按钮时 音频音乐处于暂停状态 但是当我的活动回来时从停止状态到前台我的音频音乐未恢复 这是我的代码 public class Au
  • java.io.IOException:无法打开同步连接!进入 Nexus [重复]

    这个问题在这里已经有答案了 我尝试在 Eclipse 上运行我的应用程序 但发现了这些错误 这是第一次遇到 所以请给我关于这些错误的任何想法 我目前使用的是 Nexus 手机 2011 08 04 15 59 09 App Android
  • Android 防火墙与 VpnService

    我正在尝试使用 BS 项目的 VpnService 为 Android 实现一个简单的防火墙 我选择 VpnService 因为它将在非 root 设备上运行 它将记录连接并让您过滤连接 基于IP 有一个应用程序可以做到这一点 因此这是可能
  • Android Studio 找不到 com.android.support:support-v4:19.1.0

    我已将一个项目导入Android Studio但我收到错误 找不到 com android support support v4 19 1 0 我在哪里可以找到这个文件 我已经使用导入了项目Gradle 我有Android Studio v
  • 在android API 23中获取用户的位置

    我可以编写获取用户位置的代码 并且在 API 更多细节 我手动启用设备的 GPS 第一次运行应用程序请求权限并且没有日志返回 在下次运行应用程序时 返回我准备好的 Toast 检查您的提供商 这是我写的代码 public class Mai
  • Android 中的 FFMpeg jni?

    我已经构建了 Bambuser http bambuser com opensource 提供的 FFMPEG 可执行文件和库 所以我设法构建了 Android 可执行文件和库 如何在 Eclipse 项目中链接这些库并从 Java 调用
  • 如何在开头时解析 json 文件

    我想解析以下 JSON 文件 但以 向我表明这是一个数组 然后继续 对象 我当前的解析器返回一个 JSON 对象 我的问题是 如何修改解析器来解析这个文件 这样解析器将为我提供其他 JSON 文件 从对象或排列开始 JSON 文件 codi
  • ListView 上的 setOnItemClickListener 不会触发

    我获取 SD 卡的文件列表 并将其显示在 listView 中 就像在自定义适配器的帮助下一样 adapter new ArrayAdapter
  • Android:非键盘输入法

    我正在尝试为 Android 创建一个不是传统键盘 对应于不同字母的按键行 的 IME 并且我无法找到有关如何执行此操作的有用资源 因为 SDK 中的所有代码示例都使用键盘 API它是内置函数 我在 XML 文件中设计了 IME 界面 就好
  • Android 多点触控

    因此 我尝试使用 onTouchEvent 检查多个屏幕触摸 但它似乎仍然只读取第一次触摸 有人可以帮忙吗 这是我的代码 public boolean onTouchEvent MotionEvent e int num e getPoin
  • 如何获取 res.drawable 文件夹的路径来复制文件?

    我正在编写我的应用程序AndroidStudio 我的里面有gif文件drawable gifs文件夹 我希望将该文件复制到MediaStore Images Media单击按钮后的文件夹 目前 即使使用发布的一些答案 我也无法获取我的 g
  • 带有客户端证书的android webview

    我尝试了几天使用嵌入在应用程序中的客户端证书的Web视图 但在我看来 android sdk没有提供任何方法来做到这一点 是否有回调来拦截服务器发送的质询 有没有办法将 webview 与客户端证书一起使用并发出 https 请求 因为我也

随机推荐

  • 虚函数关键字

    在子类中声明继承的虚函数有什么区别with 虚拟 关键字or not 考虑到我想调用适合我的对象类型的 fun 看看评论 include
  • PHP 反序列化因非编码字符而失败?

    ser a 2 i 0 s 5 h ll i 1 s 5 w rld fails ser2 a 2 i 0 s 5 hello i 1 s 5 world works out unserialize ser out2 unserialize
  • 检测哪个选定项目(在 ListView 中)生成了 ContextMenu (Android)

    我有一个ListView这将允许用户长按某个项目以获得上下文菜单 我遇到的问题是确定哪个ListItem他们长按 我尝试这样做 myListView setOnCreateContextMenuListener new OnCreateCo
  • Pandas 随机用 NaN 替换值

    我正在测试机器学习算法的性能 特别是它如何处理丢失的数据以及当变量丢失时会经历什么样的性能下降 例如 当变量 x 缺失 20 时 模型的准确性会下降一定的百分比 为了做到这一点 我想通过替换数据帧列中 20 的行来模拟丢失的数据 有现有的方
  • 为什么reducer函数只返回代理?还原/工具包

    我的状态参数 有效负载 中的减速器函数返回唯一的代理 Proxy i 0 A P false I false D Handler null Target null IsRevoked true 我的切片是状态代理 import create
  • 是什么导致 android 异常“您需要在此活动中使用 Theme.AppCompat 主题(或后代)。”

    我正在尝试在 Android 中尝试新的 Material 主题 我目前陷入了这个异常 03 06 09 35 50 177 D AndroidRuntime 30607 Shutting down VM 03 06 09 35 50 17
  • JavaScript 只影响一个元素

    我不明白 边框仅在第一个项目上可见 为什么 HTML div div Content 1 div div Content 2 div div JavaScript document getElementById item style bor
  • SVN:通过比较文件或文件内容来确定版本的方式

    我有一个场景 我有一个文件 我需要知道该文件的源版本是什么 我可能对某个特定文件有数百个修订 并且有一个文件与其中一个或多个修订相匹配 有没有办法在 Tortoise Cornerstone 或通过命令行来做到这一点 如果问题不是最清楚 我
  • 如果 div 高度为奇数,则将其舍入为最接近的偶数

    基本上我想使用transformY 但子像素模糊非常烦人 并且仅在div为奇数高度时才会发生 由于高度取决于文本视口等 因此需要灵活 因此实际上需要它来获取 div 的高度 将其除以 2 四舍五入到最接近的数字 然后 x 2 这样它总是会产
  • Groovy 脚本读取 xml 文件并使用文件内容更新下一步请求

    要求 从文件夹中读取xml文件并将文件内容传递给Soap请求 Issue我试图使用groovy脚本读取保存在文件夹中的文件 但无法读取文件的内容 我在尝试打印 xml 文件的内容时遇到空指针异常 def fileList new File
  • 创建计算列并舍入

    我有 3 个numeric 18 2 我的表中的列 我想创建一个fourth column那是computed 我在 SSMS 中创建了计算列numeric 18 2 就像其他 3 列一样 当我运行SELECT针对我的新列 它计算得很好 但
  • 在 Nuxt 中设置输出文件夹的路径

    在 Windows 中工作 我可以使用 nuxt 项目生成静态站点 npx nuxt generate 我有兴趣为生成的静态文件设置输出文件夹 我正在通读https nuxtjs org api configuration generate
  • DBRefs(Mongo 文档引用)未立即获取

    我正在以最简单的方式使用 Mongo 与 Spring Data 结合使用 我有两个 第一类 实体 Documents A 和 B 其中 A 中有 B 的引用 DBRef 创建 A 和 B 时一切正常 但是 当读取对象 A 通过 Id 时
  • Javascript中是否有“0b”或类似的东西来表示二进制数

    我知道0x是 Javascript 中十六进制数字的前缀 例如 0xFF代表数字255 二进制数有类似的东西吗 我希望0b1111来表示数字15 但这对我不起作用 Update 较新版本的 JavaScript 特别是 ECMAScript
  • oracle中的条件选择语句

    我有两个表 分别称为订单和公共假期 如下所示 订单表 OrderId OrderDate 1 10 Mar 2017 2 12 Mar 2017 3 30 Mar 2017 公众假期表 HoliId HolidayDate 1 10 Mar
  • 如何设置 View.setVisibility(GONE) 动画

    我想做一个Animation当一个View将其可见性设置为GONE 不但没有消失 View应该 崩溃 我尝试过这个ScaleAnimation但随后View是折叠的 但布局只会在折叠之后 或之前 调整其空间大小Animation停止 或开始
  • 颜色不被子元素继承?

    我已尝试尽可能简化下面的 HTML 为什么CSS属性 color 01FFDD 被嵌套表的所有元素忽略 嵌套 CSS 使用 div 一般对我有用 但在这里不行 难道我做错了什么 div
  • 一系列承诺[重复]

    这个问题在这里已经有答案了 我正在写一篇文章 我必须从不同城市的 API 获取 json 数据并构建 DOM 到目前为止 我已经能够做到这两点了 唯一的问题是不同城市的API响应时间不同 因此 当我构建 DOM 时 它们的顺序与我调用函数的
  • 从itextsharp注释中弹出一个窗口来显示图像和文本

    我想在 C 项目中添加并弹出窗口 通过单击 itextsharp 注释来显示图像和文本 iTextSharp text pdf PdfAnnotation annot iTextSharp text pdf PdfAnnotation Cr
  • 永久隐藏Android状态栏

    我正在尝试隐藏 Android 4 4 设备上的系统状态栏 这是针对信息亭模式的 其中我的应用程序将是设备上运行的唯一应用程序 目前的目标设备是 2013 款 Nexus 7 该设备已获得 root 权限 并且我已经能够完全删除底部导航栏