我基本上需要找出是否有一种方法可以使用 Android 的触摸屏来捕捉诸如“愤怒的小鸟”等游戏的动作或击键并将它们保存到设备上的文件中。
我确定这些手机存在安全问题并且不希望原生“击键记录”,但如果它是位于其他游戏之上的一层,应该没问题
请让我有什么办法可以达到同样的效果。您的帮助将不胜感激。提前致谢
我基本上需要找出是否有一种方法可以使用 Android 的触摸屏来捕捉诸如“愤怒的小鸟”等游戏的动作或击键并将它们保存到设备上的文件中。
我确定这些手机存在安全问题并且不希望原生“击键记录”,但如果它是位于其他游戏之上的一层,应该没问题
请让我有什么办法可以达到同样的效果。您的帮助将不胜感激。提前致谢
实现onTouchEvent()
,并通过用户按下和抬起的位置计算 dx 和 dy。您可以使用这些值来确定移动的方向。
float x1, x2, y1, y2, dx, dy;
String direction;
switch(event.getAction()) {
case(MotionEvent.ACTION_DOWN):
x1 = event.getX();
y1 = event.getY();
break;
case(MotionEvent.ACTION_UP) {
x2 = event.getX();
y2 = event.getY();
dx = x2-x1;
dy = y2-y1;
// Use dx and dy to determine the direction
if(Math.abs(dx) > Math.abs(dy)) {
if(dx>0) directiion = "right";
else direction = "left";
} else {
if(dy>0) direction = "down";
else direction = "up";
}
}
}
您可以使用系统覆盖覆盖屏幕,如this answer所示。
但是,请记住,您可以使用所有触摸事件,也可以让它们通过。您不能先获取触摸事件,然后将它们传递到您下方的应用程序或视图中。
此外,如果设备在屏幕上有系统导航按钮(主页、返回和最近的应用程序),则覆盖将不会覆盖这些按钮。