2017-12-26 39 views
0

Als pro Android-Dokumentation können wir Bildschirm/Video-Capture in einer Aktivität deaktivieren wieDeaktivieren Screen-Capture in einem Fragment

getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, 
       WindowManager.LayoutParams.FLAG_SECURE); 

Aber wie ich das gleiche in einem Fragment erreichen. Zum Beispiel, ich habe eine Aktivität, die fünf Fragmente hat, aber ich möchte Bildschirm/Video-Capture nur in einem der fünf Fragmente und nicht in anderen Fragmenten deaktivieren.

hierfür ist

getActivity().getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE); 

innerhalb eines Fragments deaktiviert Bildschirm/Videoerfassung in allen Fragmenten.

Sollte ich Logik zum Aktivieren/Deaktivieren der Bildschirmaufnahme in der Aktivität auf der Grundlage des Fragments schreiben.

+1

Mögliche doppelte https://stackoverflow.com/questions/32573371/how-to-disable-screen-capture-in-android-fragment – AndroidRuntimeException

+0

https://stackoverflow.com/questions/32573371/how-to-disable -screen-capture-in-android-fragment beantwortet die fragen, wie screen capture innerhalb eines fragments zu deaktivieren, aber meine frage ist, wie man das in einem der vielen fragmente – bitsabhi

+0

diese interne oncreateview-methode des fragments, die sie wollen, zu erreichen ss disable 'getWindow(). setFlags (WindowManager.LayoutParams.FLAG_SECURE, WindowManager.LayoutParams.FLAG_SECURE);' –

Antwort

1

FLAG_SECURE ist eine Fenster-Level-Fähigkeit; Sie können es nicht nur auf einen Teil eines Fensters anwenden (z. B. ein Fragment in einer Aktivität).

Wenn Sie unter "eine Aktivität mit fünf Fragmenten" eine Aktivität verstehen, die gleichzeitig fünf Fragmente auf dem Bildschirm hat, dann können Sie mit AFAIK nicht erreichen, was Sie wollen.

Wenn durch „eine Tätigkeit, die fünf Fragmente hat“, meinst du „eine Aktivität, die fünf Fragmente hat, von denen nur einer nach dem anderen zu sehen ist, wie Seiten in einem ViewPager“, dann müssten Sie FLAG_SECURE hin- und herzuschalten wenn diese Aktivität den Bildschirm betritt und verlässt.

0

Wenn möglich, verwenden Sie Ihr Fragment in einer einzigen Aktivität und setzen Sie die Flags. Da Fragmente nur eine Möglichkeit darstellen, Ansichten in einer Aktivität zu referenzieren und zu ändern, hat der Android kein sicheres Modell für sie.