欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > Android 屏蔽\取消(禁止)下拉通知栏包括二级菜单下拉

Android 屏蔽\取消(禁止)下拉通知栏包括二级菜单下拉

2025/2/24 0:02:17 来源:https://blog.csdn.net/qq_46687516/article/details/143364013  浏览:    关键词:Android 屏蔽\取消(禁止)下拉通知栏包括二级菜单下拉

修改方案很简单,就是直接返回类型进行屏蔽掉,让下拉效果失去,有些修改建议一起修改,不然会有意想不到的冲突,单独修改需要验证再验证,确保无其他bug产生。

有些版本可能方法的位置不一样,需要搜索一番才能尝试修改。

第一种情况,依据版本看panelsEnabled()方法的位置,if判断后其他代码不用注释掉

/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java

 boolean panelsEnabled() {
  if(true)  return false;  //*/add start
 return (mDisabled1 & StatusBarManager.DISABLE_EXPAND) == 0 && !ONLY_CORE_APPS;
    }

 第二种:

/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarView.java

 @Override
    public boolean panelEnabled() {
        if(true) return false;  //*/add start
        return mCommandQueue.panelsEnabled();
    }

第三种:禁止解锁状态的亮屏中下拉通知菜单【单个验证有效】

vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar$ 

CommandQueue.java

// TODO(b/118592525): add multi-display support if needed.
    public boolean panelsEnabled() {
        if(true) return false;  //*/add start
        final int disabled1 = getDisabled1(DEFAULT_DISPLAY);
        final int disabled2 = getDisabled2(DEFAULT_DISPLAY);
        return (disabled1 & StatusBarManager.DISABLE_EXPAND) == 0
                && (disabled2 & StatusBarManager.DISABLE2_NOTIFICATION_SHADE) == 0
                && !ONLY_CORE_APPS;
    }
 

第四种:不加载下拉高度;禁止锁屏状态的亮屏中下拉通知菜单 +  【单个验证有效】

/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java 

private void setQsExpansion(float height) {
        if(true) return;  //*/add start

height = Math.min(Math.max(height, mQsMinExpansionHeight), mQsMaxExpansionHeight);
        mQsFullyExpanded = height == mQsMaxExpansionHeight && mQsMaxExpansionHeight != 0;

 

第五种:如何删除屏蔽二次下拉菜单 +【同上第四个有点修改差异】

/vendor/mediatek/proprietary/packages/apps/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelViewController.java 

private void setQsExpansion(float height) {
        //height = Math.min(Math.max(height, mQsMinExpansionHeight), mQsMaxExpansionHeight);高度直接等于后者
        height = mQsMinExpansionHeight;//*/add start

        mQsFullyExpanded = height == mQsMaxExpansionHeight && mQsMaxExpansionHeight != 0;
        if (height > mQsMinExpansionHeight && !mQsExpanded && !mStackScrollerOverscrolling) {
            setQsExpanded(true);
        } else if (height <= mQsMinExpansionHeight && mQsExpanded) {
            setQsExpanded(false);
            if (mLastAnnouncementWasQuickSettings && !mTracking && !isCollapsing()) {
                announceForAccessibility(getKeyguardOrLockScreenString());
                mLastAnnouncementWasQuickSettings = false;
            }
        }

 

版权声明:

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

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

热搜词