我正在使用Crosswalk Cordova framework构建一个基于Web的Android应用程序,并尝试在应用程序的主活动中捕获发生在XWalk Webview上的任何触摸事件,但到目前为止,我尝试过的所有方法都无法在调试会话期间触发触摸事件。
具体来说,我正在尝试在Web视图上的任何位置捕获三指向下滑动,以便显示设置窗格。
以下是我在主要活动中已经拥有的内容:
我意识到我可以通过JavaScript事件捕获触摸事件,然后通过cordova api调用触发操作,但我更愿意将这个逻辑放在Android应用程序中。我还尝试在onTouchEvent方法中捕获触摸事件。
具体来说,我正在尝试在Web视图上的任何位置捕获三指向下滑动,以便显示设置窗格。
以下是我在主要活动中已经拥有的内容:
public class MyActivity extends CordovaActivity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
super.init();
super.loadUrl(Config.getStartUrl());
// appView is the main xwalk webview setup in parent
appView.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
int action = event.getAction();
// Check for three finger swipe...
}
});
}
....
}
我意识到我可以通过JavaScript事件捕获触摸事件,然后通过cordova api调用触发操作,但我更愿意将这个逻辑放在Android应用程序中。我还尝试在onTouchEvent方法中捕获触摸事件。
public boolean onTouchEvent(View view, MotionEvent event) {
int action = event.getAction();
// Check for three finger swipe...
}
但是,这种方法从未被触发。
非常感谢任何帮助或想法。