在 android 网络视图中单击 link 时启动打开浏览器
Launching a open a browser when clicking a link in android webview
我正在尝试在我的 android 网络视图中将 link 加载到设备上可用的网络浏览器之一。发生的事情是它只是在 web 视图中加载 link。如何让 link 在我的应用程序的 webview 之外加载?
我需要做的link是这样的:
<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 仍在运行 link 因此页面加载到 link 单击
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);
我正在尝试在我的 android 网络视图中将 link 加载到设备上可用的网络浏览器之一。发生的事情是它只是在 web 视图中加载 link。如何让 link 在我的应用程序的 webview 之外加载?
我需要做的link是这样的:
<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 仍在运行 link 因此页面加载到 link 单击
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);