此代码正在使用另一个aspx表单,现在当我更改表单时,它可以在blackberry的webview中运行,但是android现在可以启动外部浏览器,甚至在应用程序内启动之前就知道了。
webview = (WebView) findViewById(R.id.webView1);
webview.getSettings().setJavaScriptEnabled(true);
webview.setInitialScale (5);
webview.loadUrl(URL);
webview.requestFocus(View.FOCUS_DOWN);
为什么现在在浏览器外加载?
答案 0 :(得分:1)
您需要的只是实施shouldOverrideUrlLoading()
。我最近的项目的一个片段:
public class WebViewCustom extends Activity {
WebView mWebView;
String mUrl;
String urlHistory;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.lessons_page);
mWebView = (WebView) findViewById(R.id.webview);
mWebView.setWebViewClient(new WebViewOverrideUrl());
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setPluginsEnabled(true);
mWebView.loadUrl("YOUR-URL-HERE");
}
private class WebViewOverrideUrl extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
}
}
快乐的编码!
答案 1 :(得分:0)
据推测,您的服务器正在发布重定向。如果您实施WebViewClient
并将其覆盖shouldOverrideUrlLoading()
,则可以强制重定向加载到WebView
本身。