gpt4 book ai didi

java - Android WebView canGoBack 总是返回 false

转载 作者:行者123 更新时间:2023-11-29 02:34:32 26 4
gpt4 key购买 nike

重现问题的步骤:

  1. 创建一个内部有 WebView 的 fragment 。

  2. 在构建历史记录的 WebView 中深入浏览几个站点。

  3. 尝试使用 webview.canGoBack() 函数。

  4. 观察它总是返回 false。

这是一个新行为,因为 WebView 之前确实返回了 true。

似乎新版本的 WebView 已经破坏了这个功能。

这是我的代码:

class MyWebViewClient extends WebViewClient {
// Loads all hyperlinks in the existing WebView
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// Protection against getActivity() returning null object reference
if (!isAdded()) return true;

// Allow WebView to load url
Uri uri = Uri.parse(url);
// Google Maps
if (url.contains("maps.google")) {
Intent mapIntent = new Intent(Intent.ACTION_VIEW, uri);
mapIntent.setPackage("com.google.android.apps.maps");
if (mapIntent.resolveActivity(getActivity().getPackageManager()) != null) {
startActivity(mapIntent);
}
return true;
}
// Telephone
else if (url.contains("tel:")) {
String phoneNumber = url.substring(4);
Utils.dialPhone(getActivity(), phoneNumber);

return true;
}

// Redirect
return false;
}
}

这是我使用 goBack API 的地方:

public boolean canWebViewGoBack() {
if (mWebView != null) {
if (mWebView.canGoBack()) {
return true;
}
}

return false;
}

public void webViewGoBack() {
if (mWebView != null) {
if (mWebView.canGoBack()) {
mWebView.goBack();
}
}
}

最佳答案

在这里link

谈谈问题和可能的解决方案

关于java - Android WebView canGoBack 总是返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47830836/

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