应用禁止投屏显示
有时候我们开发的app的某个页面的信息比较隐私,比如输密码界面,银行卡界面,这个时候我们就想要禁止在此界面内截屏。禁止截屏加上如下的flag 就ok了。
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
}
getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
现在因为是大屏时代,所以我们经常会将手机界面投屏到电视或者大的显示器上面,这个时候也是想要此界面在投屏中不显示的。同样的方法,也是加上如上的flag 就ok了。这样,手机镜像投屏后,当手机显示此界面时,投屏界面是黑显得。
我们可以看下源码中这个flag 的描述。如下:
/** Window flag: treat the content of the window as secure, preventing
* it from appearing in screenshots or from being viewed on non-secure
* displays.
*
* <p>See {@link android.view.Display#FLAG_SECURE} for more details about
* secure surfaces and secure displays.
*/
public static final int FLAG_SECURE = 0x00002000;