我正在阻止我的应用截取屏幕截图。为此,我正在使用 getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
当用户想要截取屏幕截图时,我收到消息 “无法保存屏幕截图,Stroage 可能正在使用中”
。我想根据我的要求自定义此消息。此外,当用户尝试截取屏幕截图时,我想点击 web api。
我正在使用下面的代码但没有成功
public void detectScreenShotService(final Activity activity){
final Handler h = new Handler();
final int delay = 3000; //milliseconds
final ActivityManager am=(ActivityManager)activity.getSystemService(Context.ACTIVITY_SERVICE);
h.postDelayed(new Runnable(){
public void run(){
List<ActivityManager.RunningServiceInfo> rs=am.getRunningServices(200);
for(ActivityManager.RunningServiceInfo ar:rs){
if(ar.process.equals("com.android.systemui:screenshot")){
Log.e("tag", "Screenshot captured!!");
}
}
h.postDelayed(this, delay);
}
}, delay);
}
最佳答案
在所有activity的setContentView
之前添加这行代码
getWindow().setFlags(WindowManager.LayoutParams.FLAG_SECURE,
WindowManager.LayoutParams.FLAG_SECURE);
关于android - 当用户尝试截取屏幕截图时更改屏幕截图 block 文本并点击 web api,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48617282/