Después de observar en diferentes repositorios y páginas al concluir encontramos la resolución que te enseñaremos pronto.
Solución:
realizando su disableScreenCapture()
llamar onResume
, onCreateView
o onActivityAttached
en su Fragmento todo debería funcionar – lo hicieron por mí. Realizar esa llamada en onActivityCreated
podría no funcionar, ya que creo que el gancho solo se llama cuando se está realizando la Actividad re-creado, después de ser destruido. Sin embargo, no probé ese.
Si realiza esa llamada en onCreateView
no funciona para usted, ¿está 100% seguro de que su Fragmento realmente se está agregando a la Actividad?
Para DialogFragment
es ligeramente diferente:
getDialog().getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
A DialogFragment
no es un Dialog
en sí mismo, sino que contiene una referencia a uno y lo muestra/descarta cuando se agrega y elimina el fragmento. Los diálogos tienen sus propias ventanas y deben tener la bandera configurada individualmente.
El siguiente código funcionó para mí.
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
getActivity().getWindow().setFlags(LayoutParams.FLAG_SECURE, LayoutParams.FLAG_SECURE);
Window window = getActivity().getWindow();
WindowManager wm = getActivity().getWindowManager();
wm.removeViewImmediate(window.getDecorView());
wm.addView(window.getDecorView(), window.getAttributes());
Al final de la página puedes encontrar las reseñas de otros sys admins, tú de igual forma puedes mostrar el tuyo si lo crees conveniente.