android 触摸事件 按住不动但是getAction一直返回move

问题描述:

在四个设备上调试,分别为两部红米真机、逍遥安卓模拟器和eclipse带的虚拟器
结果,三个设备正常,按住不动时,只触发一次touchEvent,返回为up
但是有一台红米,一直不停的触发touchEvent,返回Move;
用教程给的程序和自己写的程序都一样。
出问题的设备安卓7.1.2,MIUI9.2稳定版。
真心求教,感谢

多半是厂商的定制系统处理成这样的,像小米、华为、中兴等这样的都是对Android原生系统进行过重新定制,有修改也有裁剪。而模拟器都是Android原生的系统。所以模拟器与你真机有区别不奇怪。在确定不是硬件问题的前提下,要么去相应的论坛找相关系统的相关问题,要么就使用针对不同平台做适配、规避操作

这个跟硬件也有关系的

这个和触摸屏有关,可能硬件不够好
处理方法:
1、如果你只需要up事件,那就直接忽略掉move事件
2、如果你需要move事件,那就做一个去抖动处理,设置一个move范围,如果只有超出了设置的范围的move才处理

底层触屏执行事件可能不一样

手机零件坏了?换个ROM刷机包试试

部分机型出现这种情况,和手机产商硬件有关,以前我也遇到过,你可以在onTouchEvent事件对手势进行扩大一点,加一点范围,注意,如果是用户想要消耗该事件返回true,
如果在范围之内不处理就行了