Android App开发禁止应用截屏或录屏接口
禁止应用截屏或录屏 近几年随着移动互联的饱和,基本上各项技能都有所完善,这里就保护用户隐私————禁止应用截屏或录屏来给大家做实际应用以及实战效果进行多方位演示。其中属性FLAG_SECURE:该属性能防止屏幕被截图和录制。这个属性就是可以防止当前Activity不会被录制。
public class MainActivity extends AppCompatActivity {
private Window window;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
window = getWindow();
initView();
}
private void initView() {
Button add = findViewById(R.id.add);
Button clean = findViewById(R.id.clean);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//设置禁止截屏、录屏标志
window.addFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
});
clean.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//清除禁止截屏、录屏标志
window.clearFlags(WindowManager.LayoutParams.FLAG_SECURE);
}
});
}
}
经实测真机 华为荣耀、华为鸿蒙、红米、Vivo、OPPO、小米平板 截屏功能都有效,当截屏的时候,系统会弹出一个Toast提示“禁止屏幕抓取”。
录屏功能同样实测有效,当录屏的时候,系统会弹出一个Toast提示“由于应用限制,该界面无法录屏”。部分机型(小米平板、华为鸿蒙、oppo等)录屏的时候,看似能够正常录制,但是保存后的视频,都是一片黑色,并没有APP的相关界面