gpt4 book ai didi

Android WebView http 链接打开 Chrome 浏览器,其中 2 个选项卡指向同一 URL

转载 作者:行者123 更新时间:2023-12-02 06:01:45 25 4
gpt4 key购买 nike

我的应用程序中有一个 WebView,它显示本地 html 文件。其中有指向 PDF 文件的链接,我正在 shouldOverrideUrlLoading() 方法上处理这些文件,但通过这样做,页面上的 http://链接现在正在 WebView 中加载,而不是在设备的浏览器中加载。

下面的代码可以识别 pdf 文件,并且工作正常,但是当我单击外部 URL 时,它会在 Chrome 浏览器中打开两个选项卡,指向同一 URL。怎么才能只打开一个呢?

private class MyWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.contains(".pdf")) {
// Remove the file:///android_asset/ text in url
String tmpUrl = url.replace("file:///android_asset/", "");
PdfHandler pdf = new PdfHandler(mContext);
pdf.openPdf(tmpUrl);
return true;
}
else{
// Otherwise, the link is not for a page on my site, so launch another Activity that handles URLs
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
startActivity(intent);
return true;
}
}
}

谢谢

最佳答案

答案是将此标志添加到启动浏览器的 Activity 中:

intent.putExtra(Browser.EXTRA_APPLICATION_ID, mContext.getPackageName());

这会强制浏览器始终在我的应用程序创建的选项卡中打开链接

关于Android WebView http 链接打开 Chrome 浏览器,其中 2 个选项卡指向同一 URL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13086188/

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