gpt4 book ai didi

android - 尝试将 URL 从 webview 传递到浏览器

转载 作者:行者123 更新时间:2023-11-30 04:25:12 29 4
gpt4 key购买 nike

我正在使用高度为 60dp 的 webview,我正在将本地 html 文件传递​​给它,默认情况下,当我单击 webview 中的链接时,它必须打开浏览器。但奇怪的是它在 webview 中打开了链接,我也尝试了 webview 客户端并试图通过 intent 将响应 url 传递给默认浏览器,但没有成功..

我的代码 fragment :

    WebViewClient yourWebClient = new WebViewClient()
{

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
System.out.println("Inside WebViewClient the URL is....."+url);

Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);

return true;
}
};

WebView ad = (WebView) findViewById(R.id.webview1);
ad.getSettings().setJavaScriptEnabled(true);
ad.loadUrl(feed.getItem(position).getLink());
ad.getSettings().setLoadWithOverviewMode(true);
ad.getSettings().setUseWideViewPort(true);
ad.setInitialScale(100);
ad.setWebViewClient(yourWebClient);
ad.loadUrl("file:///android_asset/advertisement.htm");

最佳答案

停止当前的 webview 加载。由于 ad 是 WebView 的对象,尝试这样做:

  @Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
System.out.println("Inside WebViewClient the URL is....."+url);

ad.stopLoading();
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);

return true;
}

同时为您的 WebView 添加设置:

 ad.getSettings().setSupportMultipleWindows(false);

编辑:

尝试将 chrome 客户端与您的 webview 相关联,然后检查:

 ad.setWebChromeClient(new MyWebChromeClient());

希望这对你有用。

关于android - 尝试将 URL 从 webview 传递到浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8643683/

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