android6.0中全屏处理(禁止通知栏下滑)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android6.0中全屏处理(禁止通知栏下滑)相关的知识,希望对你有一定的参考价值。

android6.0项目中,因需要做全屏处理,故在此整理出全屏时禁止通知栏下滑的代码,希望可以帮助到也有如此困惑的人。

    1.在onCreate中添加://设置全屏

        requestWindowFeature(Window.FEATURE_NO_TITLE);

getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,

WindowManager.LayoutParams.FLAG_FULLSCREEN);

    2.在onResume()函数中添加://进入activity时,设置禁止通知栏不滑

        Settings.System.putInt(this.getContentResolver(),

Settings.System.FULL_SCREEN_EXPAND_STATUSBAR, 0);

    

    3.在onPause()函数中添加://离开activity时,恢复通知栏下滑

        Settings.System.putInt(this.getContentResolver(),

Settings.System.FULL_SCREEN_EXPAND_STATUSBAR, 1);

    4.在frameworks/base/services/core/java/com/android/server/policy/PhoneWindowManager.javar的updateSystemUiViSiBilityLw()函数中添加://此代码我添加在tmpVisibility = updateLightStatusBarLw(tmpVisibility);后,有可能其它人的项目代码有改动,在需要此代码的请酌情添加至合适位置。

        final int visibility;

         if(Settings.System.getInt(mContext.getContentResolver(),

            Settings.System.FULL_SCREEN_EXPAND_STATUSBAR, 1) == 0) {

             visibility = tmpVisibility;

          }else{

             visibility = updateSystemBarsLw(win, mLastSystemUiFlags,tmpVisibility);

        }

    5.在frameworks/base/core/java/android/provider/Settings.java中添加://定义FULL_SCREEN_EXPAND_STATUSBAR

        public static final String FULL_SCREEN_EXPAND_STATUSBAR = "full_screen_expand_statusbar";

    6.在frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java中添加://与上方onPause()中意义基本相同,未深究

      systemSettings.insertSettingLocked(Settings.System.FULL_SCREEN_EXPAND_STATUSBAR, "1",SettingsState.SYSTEM_PACKAGE_NAME);

说明:为保证添加了FULL_SCREEN_EXPAND_STATUSBAR不会给系统其它地方造成影响,上述6处的代码请完整添加,否则有可能引起未知错误!

本文出自 “智能改变生活” 博客,请务必保留此出处http://restlessheart.blog.51cto.com/3831429/1784409

以上是关于android6.0中全屏处理(禁止通知栏下滑)的主要内容,如果未能解决你的问题,请参考以下文章

如何在JQM中全屏显示Fancybox图像时阻止后退按钮上的页面更改?

iOS中全屏的bounds设置

如何在 PowerShell 中全屏显示

在 React 中全屏拖放文件

在 WebBrowser 控件中全屏播放 youtube

在 iOS 上的 Safari 中全屏打开网页