如何在 android 4.0+ 上拦截截屏事件?我想在通过音量下键+电源键截屏时执行一些自己的代码。
问问题
3597 次
2 回答
3
这里有一篇关于防止截图的好博文,但我不知道是否有办法在用户执行截图时执行代码......
您可以使用 WindowManager 中的FLAG_SECURE以避免屏幕截图
例子 :
public class FlagSecureTestActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(LayoutParams.FLAG_SECURE,
LayoutParams.FLAG_SECURE);
setContentView(R.layout.main);
}
}
于 2013-05-13T14:01:00.670 回答
0
这不太可能,您最终可以监听屏幕截图保存位置的更改并使用 FileObserver 执行一些代码
https://developer.android.com/reference/android/os/FileObserver.html
这里最大的问题是,许多设备使用不同的截屏方式,从根本无法截屏到甚至无需使用任何键即可截屏。
使用其他答案中建议的 Flag.Secure 在某些情况下有效,在其他情况下会弄乱您的屏幕。
于 2013-05-13T14:00:27.287 回答