您的位置:首页 > 房产 > 家装 > 汕头关键词优化平台_简述搜索引擎优化_四川企业seo_网页设计怎么做

汕头关键词优化平台_简述搜索引擎优化_四川企业seo_网页设计怎么做

2025/4/19 0:50:31 来源:https://blog.csdn.net/ItJavawfc/article/details/147276018  浏览:    关键词:汕头关键词优化平台_简述搜索引擎优化_四川企业seo_网页设计怎么做
汕头关键词优化平台_简述搜索引擎优化_四川企业seo_网页设计怎么做

去掉ROOM 开机第一次提示全屏弹框

文章目录

  • 需求
  • 参考资料
  • 修改文件
    • 实现方案
  • 解决思路
    • grep 源码查找信息
      • grep 查找 grep -rn "Viewing full screen" 找string 字段
      • grep 查找 grep -rn immersive_cling_title 布局
      • grep 查找 grep -rn layout.immersive_mode_cling 对应的UI 组件
    • adb dumps + grep 源码查找信息
  • 总结


需求

将全屏提示弹框去掉, 在进入到app 需要全屏的界面,系统会弹框一次。 需要去掉,影响体验。

显示的全屏提醒如下:
在这里插入图片描述

参考资料

Android 10.0 去掉目前处于全屏模式的提示框

修改文件


frameworks/base/services/core/java/com/android/server/wm/ImmersiveModeConfirmation.java

实现方案

Android12 和 Android13 修改思想一样,方法具体内容不一样,如下:
handleShow 方法,屏蔽加入到windows 步骤:具体如下

Android12 private void handleShow(int rootDisplayAreaId) {if (DEBUG) Slog.d(TAG, "Showing immersive mode confirmation");mClingWindow = new ClingWindowView(mContext, mConfirm);// show the confirmationWindowManager.LayoutParams lp = getClingWindowLayoutParams();//  getWindowManager(rootDisplayAreaId).addView(mClingWindow, lp);}Android13private void handleShow(int rootDisplayAreaId) {if (DEBUG) Slog.d(TAG, "Showing immersive mode confirmation");mClingWindow = new ClingWindowView(mContext, mConfirm);// show the confirmationWindowManager.LayoutParams lp = getClingWindowLayoutParams();try {//   getWindowManager(rootDisplayAreaId).addView(mClingWindow, lp);} catch (WindowManager.InvalidDisplayException e) {Slog.w(TAG, "Fail to show the immersive confirmation window because of " + e);}}

解决思路

自己总结,一般修改界面性问题,无外乎两种方案:

  • grep 源码查找相关信息
  • adb 查看相关信息

grep 源码查找信息

grep 查找 grep -rn “Viewing full screen” 找string 字段

在这里插入图片描述

grep 查找 grep -rn immersive_cling_title 布局

在这里插入图片描述

grep 查找 grep -rn layout.immersive_mode_cling 对应的UI 组件

在这里插入图片描述

这里就通过关键信息,在源码里面找到关联的View 组件类 ImmersiveModeConfirmation

adb dumps + grep 源码查找信息

通过 dumpsys 查看当前focus 焦点的界面

1|k69v1_64_k419:/ $ dumpsys window | grep mCurrentFocusmCurrentFocus=Window{1d6e746 u0 ImmersiveModeConfirmation}

这里找到了 ImmersiveModeConfirmation,源码搜索下

R730:~/Android2/mt6769-alps-release-s0.mp1.rc/alps-release-s0.mp1.rc$ find . -name ImmersiveModeConfirmation.java 
./frameworks/base/services/core/java/com/android/server/wm/ImmersiveModeConfirmation.java

就找到了 这个 ImmersiveModeConfirmation.java 类的位置

总结

  • 一个简单的需求,知道修改方案,解决方法最重要

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com