我的Android应用程序必须检测用户交互才能在循环中使用方法A或方法B。
我在MainActivity的onCreate()中调用此方法...
@SuppressLint("ClickableViewAccessibility")
private void detectUserInteraction() {
final WindowManager.LayoutParams params = new WindowManager.LayoutParams(
0, 0, 0, 0,
WindowManager.LayoutParams.TYPE_APPLICATION,
WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH,
PixelFormat.TRANSLUCENT);
final WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);
if (wm != null) {
final View view = new View(this);
view.setOnTouchListener((v, event) -> {
UserInteractionManager.getInstance().setRecentUserInteraction(true);
return false;
});
wm.addView(view, params);
}
}
...并且不适用于部分用户(最新的华为用户)。我有这些用户的日志文件,该方法仅能在几分钟内完成。
有人知道要解决该方法的问题吗?
非常感谢您。