FLAG_SECURE 无法处理样式为 DialogFragment.STYLE_NO_TITLE 的 DialogFragment

FLAG_SECURE not working on DialogFragment with style as DialogFragment.STYLE_NO_TITLE

当我设置对话框片段的样式时,android 允许截取对话框片段的屏幕截图,但在删除样式后它起作用了。

下面是对话框片段的代码onCreate

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setStyle(DialogFragment.STYLE_NO_TITLE, android.R.style.Theme_Holo_Light);
    getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);
    setCancelable(false);
}

有没有其他人遇到过类似的问题?

AFAICT,在主机 activity 上使用 FLAG_SECURE 不足以使 DialogFragment 安全。

除了为 activity 使用 FLAG_SECURE 之外,还对您在 DialogFragmentonCreate() 中创建的 Dialog 调用 getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); ], 在你 return 之前 Dialog.