gpt4 book ai didi

java - 单击android webview中的链接时启动打开浏览器

转载 作者:搜寻专家 更新时间:2023-11-01 07:55:52 26 4
gpt4 key购买 nike

我正在尝试将我的 android webview 中的链接加载到设备上可用的网络浏览器之一。发生的事情是它只是加载 web View 中的链接。如何在我的应用程序的 webview 之外加载链接?

我需要制作的链接是这样的:

<a href="http://www.testsite.com/linka">Forgot your password?</a>

当我点击它时没有任何反应,我需要它来调用设备的默认网络浏览器。

我的 shouldOverrideUrlLoading 当前正用于检查 URL 并加载另一个 Activity ,如果它相等:

public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d("extraData", "the urls"+Uri.parse(url).getPath());
if (Uri.parse(url).getPath().equals("/qr_code")) {
progress.setVisibility(View.GONE);
Intent intent = new Intent(getApplicationContext(),QRActivity.class);
startActivityForResult(intent, 1);
setContentView(R.layout.activity_qr);

//return true;
}
if(Uri.parse(url).getPath().equals("/linka")){
return true;
}

return false;
}

更新:它现在可以工作,但由于某种原因,我当前的 webView 仍然运行该链接,因此页面加载到单击的链接

private class MyBrowser extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.d("extraData", "the urls"+Uri.parse(url).getPath());
if (Uri.parse(url).getPath().equals("/TMMobile/Main/qr_code")) {
//return true;
}
if(Uri.parse(url).getPath().equals("/linka")){
Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://testdomain/RecoverPassword.aspx"));
startActivity(browserIntent);
}
return false;
}
}

最佳答案

要在浏览器中打开一个URL,只需要使用下面的代码:

Intent browserIntent = new Intent(Intent.ACTION_VIEW, Uri.parse("http://www.google.com"));
startActivity(browserIntent);

关于java - 单击android webview中的链接时启动打开浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27790794/

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