[RK3288][Android7.1] 调试笔记 --- 去除android应用沉浸模式弹出的提示“从顶部向下滑动即可退出全屏模式”

这篇博客探讨了在Android7.1.2和5.1系统中,应用首次进入沉浸模式时出现提示框的异常情况。通过分析郭霖大神的文章并提供补丁代码,展示了如何在RK3288平台的设备上禁用Android7.1和5.1中沉浸模式的确认提示,确保应用全屏显示。
摘要由CSDN通过智能技术生成

Platform: RK3288
OS: Android 7.1.2
Kernel: v4.4.143

问题:

客户的软件第一次进入沉浸模式,会有下图的提示,如果一直不点击确定,重启机器还是会有此现象

Android7.1:

Android5.1:

沉浸模式:

知识点:参考郭霖大神这篇文章

Android状态栏微技巧,带你真正理解沉浸式模式

附上测试demo:

    @Override
    public void onWindowFocusChanged(boolean hasFocus) {
        super.onWindowFocusChanged(hasFocus);
        if (hasFocus && Build.VERSION.SDK_INT >= 19) {
            View decorView = getWindow().getDecorView();
            decorView.setSystemUiVisibility(
                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE
                            | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                            | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                            | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                            | View.SYSTEM_UI_FLAG_FULLSCREEN
                            | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);
        }
    }

实现:

Android7.1 patch

diff --git a/services/core/java/com/android/server/policy/ImmersiveModeConfirmation.java b/services/core/java/com/android/server/policy/ImmersiveModeConfirmation.java
old mode 100644
new mode 100755
index 9bf0476..7623e64
--- a/services/core/java/com/android/server/policy/ImmersiveModeConfirmation.java
+++ b/services/core/java/com/android/server/policy/ImmersiveModeConfirmation.java
@@ -380,7 +380,7 @@ public class ImmersiveModeConfirmation {
         public void handleMessage(Message msg) {
             switch(msg.what) {
                 case SHOW:
-                    handleShow();
+                    //handleShow();
                     break;
                 case HIDE:
                     handleHide();

Android5.1 patch

diff --git a/policy/src/com/android/internal/policy/impl/ImmersiveModeConfirmation.java b/policy/src/com/android/internal/policy/impl/ImmersiveModeConfirmation.java
old mode 100644
new mode 100755
index 8fc4647..3091ece
--- a/policy/src/com/android/internal/policy/impl/ImmersiveModeConfirmation.java
+++ b/policy/src/com/android/internal/policy/impl/ImmersiveModeConfirmation.java
@@ -333,7 +333,7 @@ public class ImmersiveModeConfirmation {
         public void handleMessage(Message msg) {
             switch(msg.what) {
                 case SHOW:
-                    handleShow();
+                    //handleShow();
                     break;
                 case HIDE:
                     handleHide();

参考:

Android状态栏微技巧,带你真正理解沉浸式模式

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值