Android 5.0以后 点击NotificationPanelView中的按钮就收缩状态栏


frameworks\base\packages\SystemUI\src\com\android\systemui\qs\QSTile.java

类分析,位置信息、飞行模式、手电筒、蓝牙等按钮的点击都会通过此类的handleClick()抽象方法。

abstract protected void handleClick();

 

那么解决问题也很简单,针对不同的按钮的点击事件添加handleClick()即可,如果统一处理请自行找办法。

比如位置信息按钮:

frameworks\base\packages\SystemUI\src\com\android\systemui\qs\tiles\LocationTile.java

直接在handleClick()方法尾部添加:

@Override
protected void handleClick() {
    final boolean wasEnabled = (Boolean) mState.value;
    MetricsLogger.action(mContext, getMetricsCategory(), !wasEnabled);
    mController.setLocationEnabled(!wasEnabled);
    mEnable.setAllowAnimation(true);
    mDisable.setAllowAnimation(true);
    
    if(!wasEnabled){   //添加内容
        ((StatusBarManager) mContext.getSystemService(Context.STATUS_BAR_SERVICE)).collapsePanels();
    }
}  


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM