网页视图中的超链接
Hyperlink inside webview
我在 android 中制作了一个 webview,它工作得很好,但我想要的是用户可以在 webview 中浏览网站,但是当用户单击 hyperlink webview 我希望它在 chrome 中打开 link.. 这是我的 webview 代码
public class MainActivity extends Activity {
WebView wb;
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wb=(WebView)findViewById(R.id.webView1);
wb.getSettings().setJavaScriptEnabled(true);
wb.getSettings().setLoadWithOverviewMode(true);
wb.getSettings().setUseWideViewPort(true);
wb.getSettings().setBuiltInZoomControls(true);
wb.getSettings().setPluginState(WebSettings.PluginState.ON);
wb.setWebViewClient(new HelloWebViewClient());
wb.loadUrl("https://example.com");
}
}
我网站上的 link 如下,但我不想让这个 link 在我的网络视图中打开我希望它在 chrome
上打开
<a href="https://google.com" class="button" >Google</a>
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// check url
if(url.contains("google.com")) {
// below line will open default app with url
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
// return true when url was handled somehow and doesn't need to be loaded
return true;
}
return false; // not handled manually urls, open them in WebView
}
startActivity
属于 Context
(Acticity
扩展它)并且可以直接使用,因为你的 HelloWebViewClient
放在里面,但如果它不是那么你可以使用 WebView
s Context
view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
我在 android 中制作了一个 webview,它工作得很好,但我想要的是用户可以在 webview 中浏览网站,但是当用户单击 hyperlink webview 我希望它在 chrome 中打开 link.. 这是我的 webview 代码
public class MainActivity extends Activity {
WebView wb;
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return false;
}
}
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
wb=(WebView)findViewById(R.id.webView1);
wb.getSettings().setJavaScriptEnabled(true);
wb.getSettings().setLoadWithOverviewMode(true);
wb.getSettings().setUseWideViewPort(true);
wb.getSettings().setBuiltInZoomControls(true);
wb.getSettings().setPluginState(WebSettings.PluginState.ON);
wb.setWebViewClient(new HelloWebViewClient());
wb.loadUrl("https://example.com");
}
}
我网站上的 link 如下,但我不想让这个 link 在我的网络视图中打开我希望它在 chrome
上打开<a href="https://google.com" class="button" >Google</a>
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// check url
if(url.contains("google.com")) {
// below line will open default app with url
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
// return true when url was handled somehow and doesn't need to be loaded
return true;
}
return false; // not handled manually urls, open them in WebView
}
startActivity
属于 Context
(Acticity
扩展它)并且可以直接使用,因为你的 HelloWebViewClient
放在里面,但如果它不是那么你可以使用 WebView
s Context
view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));