在我的Android应用中,我需要检测屏幕捕获事件。我该怎么做?
答案 0 :(得分:0)
我在我的应用程序中使用了此代码并且工作正常。它会在截取屏幕截图时通知。 我在OnePlus 1,Nexus 6P,Moto G3上进行了测试。任何设备都没有问题。
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")) {
Toast.makeText(activity, "Screenshot captured!!", Toast.LENGTH_LONG).show();
}
}
h.postDelayed(this, delay);
}
}, delay);
}