我在 myActivity 中使用 WebView 创建 android 应用程序。
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
// before setContentView CookieSyncManager.createInstance( this); CookieSyncManager.getInstance().startSync(); CookieManager.getInstance().removeAllCookie(); CookieManager.getInstance().setAcceptCookie( true); setContentView( R.layout.browser); webviewHTML = (WebView) findViewById( R.id.webviewHTML); WebSettings webSettings = webviewHTML.getSettings(); webSettings.setSupportZoom( true); webSettings.setBuiltInZoomControls( true); webSettings.setJavaScriptEnabled( true); webSettings.setJavaScriptCanOpenWindowsAutomatically( true); webSettings.setAppCacheEnabled( false); webSettings.setSaveFormData( false); webSettings.setSavePassword( false); webSettings.setDefaultTextEncodingName( "utf-8"); webSettings.setDomStorageEnabled( true); webSettings.setUserAgent( 0); webviewHTML.setWebViewClient( new myWebViewClient()); webviewHTML.addJavascriptInterface( new myJavaScriptInterface(), getString( R.string.sAppName)); webviewHTML.setOnLongClickListener( onWebViewLongClickListener); webviewHTML.loadUrl( "myaddress"); }
创建 WebView 时,我打开公司 Microsoft Exchange 2010 OWA ' https://mail.mydomain.com/owa/ '的页面:
然后我从我的域中手动输入用户名和密码。但我在 WebView 中收到错误消息页面(响应代码 200):
<head><head></head><body>Bad Request</body></head>
截屏:
但是,当我在任何浏览器(Chrome)中打开此页面时,我会更正进入 OWA 邮件页面:
为什么 Exchange 服务器在正文中返回带有错误的 html 页面?
我需要向 WebView 属性添加什么?
添加: 此外,当我在 PC 窗口的桌面浏览器中打开此页面以在浏览器(非站点)内弹出用户名和密码时:
添加解决方案我发现我的错误。我检查了 WebView.myWebViewClient.onPageFinish 中的 URL,并且 URL 与我的起始 URL 不同。我更正了此 URL,我的页面将正确打开。