WebView 不 posting/loading 正确
WebView not posting/loading correctly
我有这段 WebView 代码,它应该登录到一个网站,然后加载该网站的某个页面。
webView = (WebView) findViewById(R.id.recording_web_view);
Bundle b = getIntent().getExtras();
String filename = b.getString("filename");
SettingsManager setman = SettingsManager.getInstance(getBaseContext());
//Login to webinterface before we can watch the recording
String postData = "username=" + setman.getUserName() + "&password=" + setman.getPassword();
//This is the section of code that fixes redirects to external apps
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
return false;
}
});
//Post login to get session
webView.postUrl("http://" + setman.getIp() + "/login", EncodingUtils.getBytes(postData, "BASE64"));
//Load actual recording
webView.loadUrl("http://" + setman.getIp() + "/movies/" + filename);
当我 运行 这样做时,我只得到登录页面,服务器说它没有收到任何 postdata。但是,当我删除 loadUrl 行时,它会收到登录数据并在登录后加载页面。
谁能告诉我我做错了什么?谢谢
Enable the the JavaScript
webView.getSettings().setJavaScriptEnabled(
true);
尝试在 WebViewClient 中使用:
@Override
public void onPageFinished( WebView view, String url)
{
view.loadUrl( "http://" + setman.getIp() + "/movies/" + filename);
}
也可以查看请求错误:
@Override
public void onReceivedError( WebView view, int errorCode, String description, String failingUrl)
我有这段 WebView 代码,它应该登录到一个网站,然后加载该网站的某个页面。
webView = (WebView) findViewById(R.id.recording_web_view);
Bundle b = getIntent().getExtras();
String filename = b.getString("filename");
SettingsManager setman = SettingsManager.getInstance(getBaseContext());
//Login to webinterface before we can watch the recording
String postData = "username=" + setman.getUserName() + "&password=" + setman.getPassword();
//This is the section of code that fixes redirects to external apps
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url){
return false;
}
});
//Post login to get session
webView.postUrl("http://" + setman.getIp() + "/login", EncodingUtils.getBytes(postData, "BASE64"));
//Load actual recording
webView.loadUrl("http://" + setman.getIp() + "/movies/" + filename);
当我 运行 这样做时,我只得到登录页面,服务器说它没有收到任何 postdata。但是,当我删除 loadUrl 行时,它会收到登录数据并在登录后加载页面。
谁能告诉我我做错了什么?谢谢
Enable the the JavaScript
webView.getSettings().setJavaScriptEnabled(
true);
尝试在 WebViewClient 中使用:
@Override
public void onPageFinished( WebView view, String url)
{
view.loadUrl( "http://" + setman.getIp() + "/movies/" + filename);
}
也可以查看请求错误:
@Override
public void onReceivedError( WebView view, int errorCode, String description, String failingUrl)