我想构建一个没有PhoneGap的Android webApplication,我有一个问题:当我点击一个链接时,它会打开android默认浏览器......:那么如何在同一个webview Android中加载webview链接?
这是我的代码:
package com.example.mobilewebview;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.webkit.WebView;
//import android.webkit.WebViewClient;
import android.webkit.WebSettings;
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings webSettings = myWebView.getSettings();
webSettings.setJavaScriptEnabled(true);
myWebView.loadUrl("http://m.google.com");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
谢谢!
答案 0 :(得分:4)
您必须拦截WebView
可能拥有的网址链接,以便进行自定义实施。
您必须为WebViewClient
创建WebView
,然后覆盖public boolean shouldOverrideUrlLoading(WebView view, String url)
方法以实现此类目标。
示例代码:
//web view client implementation
private class CustomWebViewClient extends WebViewClient {
public boolean shouldOverrideUrlLoading(WebView view, String url)
{
//do whatever you want with the url that is clicked inside the webview.
//for example tell the webview to load that url.
view.loadUrl(url);
//return true if this method handled the link event
//or false otherwise
return true;
}
}}
//in initialization of the webview:
....
webview.setWebViewClient(new CustomWebViewClient());
....
告诉我这是否有帮助。