如何使用Crosswalk长时间获取URL?

问题描述 投票:1回答:1

我注意到,当长时间按下XWalkView内部的链接时,结果就是什么都没有。我希望能够长时间按下您可以在Chrome中看到的链接(当您长按蓝色链接时)。我不需要知道如何创建对话框,我想知道如何拦截长按事件。

(注意这与android有关)

我不关心使用JavaScript,但它必须工作。

我尝试使用onLongClickListener但我无法从中获取URL。

这是当前的代码:

//...
private static Handler handler = new Handler();
private static Runnable longPressRunnable = new Runnable() {
    @Override
    public void run() {
        Logging.logd("Long press detected");
    }
};
//...
public static final View.OnTouchListener
        mainOnTouchListener = new View.OnTouchListener() {
    //...
    @Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        switch(motionEvent.getAction()) {
            case MotionEvent.ACTION_DOWN:
                handler.postDelayed(longPressRunnable, 1200);
                //...
                break;
            case MotionEvent.ACTION_UP:
                handler.removeCallbacks(longPressRunnable);
                //...
                break;
            case MotionEvent.ACTION_MOVE:
                //...
                handler.removeCallbacks(longPressRunnable);
                break;
            default: break;
        }
    return false;
}

请注意,XWalkView不支持HitTestResult,因此请避免告诉我将其用作答案。

android url handler long-press crosswalk
1个回答
1
投票

实际上,仅使用触摸侦听器是不可能的。我将不得不用javascript / jQuery处理它或找到另一种方法。我把它标记为已解决,因为我将按照自己的方式行事,这根本没有引起人们的注意。

更新:

Crosswalk最后添加了它。你可以在这里找到如何做到这一点:https://github.com/xdevs23/Cornowser/blob/master/app/src/main/java/io/xdevs23/cornowser/browser/browser/xwalk/CrunchyWalkView.java#L109

© www.soinside.com 2019 - 2024. All rights reserved.