gpt4 book ai didi

android - android webview中如何区分url是用户点击还是自动跳转

转载 作者:行者123 更新时间:2023-11-29 18:02:20 49 4
gpt4 key购买 nike

在我的 webview 中,我在 webViewClient 方法中获取了所有 url

public boolean shouldOverrideUrlLoading(WebView view, String url) {}

如果 url 来自用户点击,我想将 url 扔给其他应用程序。不然webview会自己加载url,但是我分不清,怎么办?

感谢您的帮助!

最佳答案

我按照How can I get onclick event on webview in android?中的方法.

有一些使用 dispatchTouchEvent 的替代方案 Android singleTap/OnClick in WebView

Boolean changedUrl = false;
String currentUrl = null;

webView.setWebViewClient(new WebViewClient() {

@Override
public void onPageFinished(WebView view, String url) {
changedUrl = false;
currentUrl = webView.getUrl();
}

// change either onPageStarted or shouldOverrideUrlLoading
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
if(changedUrl && !url.equals(currenturl)) {
// page has been clicked
}

}

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
if(changedUrl && !url.equals(currentUrl)) {
// page has been clicked

return true;
}

return false;
}


});

webView.setOnTouchListener( new View.OnTouchListener() {

@Override
public boolean onTouch(View v, MotionEvent event) {
if (v.getId() == R.id.webView && event.getAction() == MotionEvent.ACTION_DOWN){

changedUrl = true;

}

return false;
}
});

关于android - android webview中如何区分url是用户点击还是自动跳转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15286050/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com