Можно ли заблокировать захват экрана на определенных участках экрана? - PullRequest
0 голосов
/ 06 июля 2019

Чтобы отключить захват экрана, мы можем использовать:

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

Можно ли использовать что-то похожее для скрытия видов?

Например:

[imageview]

[скрытый контент]

[просмотр текста]

1 Ответ

0 голосов
/ 06 июля 2019

Не совсем.

Системное решение FLAG_SECURE предоставляется по окну, а не View. Большинство видов отображаются только в окне действия. В некоторых представлениях условно используется второе окно, например раскрывающийся список Spinner, но вы также не управляете этими окнами.

В принципе, если представления, которые вы хотите заблокировать на снимках экрана, были смежными, вы можете настроить собственное окно, поместить представления в это окно и использовать FLAG_SECURE только в этом окне. Это может быть сложно и может вызвать другие виды проблем (например, многооконные устройства, доступность).

...