我正在尝试使用 webview 来显示一个页面,该页面执行一些非常基本的画布动画并将当前时间显示为字符串。我使用 setTimeout() 每秒更新一次内容(或动画每秒 30 次)。
我的问题是,只要我触摸屏幕,我的 javascript 就会停止执行。
我得到的最远的方法是将触摸事件的侦听器添加到我的 javascript 并在事件处理程序中调用 e.preventDefault() ,这在大多数情况下都有帮助,但似乎错过了一些没有触发任何常见 javascript 事件的情况。
我尝试的下一件事是覆盖默认的触摸处理程序,如下所示:
myWebView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
这有帮助,但问题是它在发送到我的 web 视图之前消耗了触摸事件,因此无法在 javascript 中侦听触摸事件。
我想禁用所有默认的 Android 行为,如缩放等,因为这会阻止我的动画,但我仍然希望能够在 javascript 中使用这些事件。
有任何想法吗?