SystemUI 下拉控制中心,长按通知点击“关闭通知”,点击空白处,再点击“关闭通知”无作用

不积跬步无以至千里

一.前摘

         这里是android10.0原生的bug,应该是原生系统考虑没那么全面导致此问题,这里出现此问题的原因是原生没有考虑点击窗口的空白位置时出现的逻辑问题。

二.问题原因

经过对代码的逻辑进行分析发现:

这里当点击对话框的空白处或者按back键时未能正常的恢复对话框是否显示的标志位以及重置长按通知的效果导致的此问题,本来此标志位是为防止重复去显示对话框而设置,代码逻辑在此处:

app/src/com/android/systemui/statusbar/notification/row/NotificationInfo.java

private OnClickListener  getTurnOffNotificationsClickListener() {

        return ((View view) -> {
            if (!mPresentingChannelEditorDialog && mChannelEditorDialogController != null) {
                mPresentingChannelEditorDialog = true;

                mChannelEditorDialogController.prepareDialogForApp(mAppName, mPackageName, mAppUid,
                        mUniqueChannelsInRow, mPkgIcon, mOnSettingsClickListener);
                //此处是用回调来重置 mPresentingChannelEditorDialog 此标志位
                mChannelEditorDialogController.setOnFinishListener(() -> {

猜你喜欢

转载自blog.csdn.net/WDYShowTime/article/details/105320646