Android 如何编写一个webview来自动登录我的yahoo帐户?
我正在编写一个测试webview应用程序,我打算在启动应用程序视图时打开我的雅虎邮件。这将是一个网络视图,在那里我想硬编码我的用户名和密码。我知道yahoo使用get方法而不是post。有什么办法可以做到这一点吗? 以下是我目前的代码:Android 如何编写一个webview来自动登录我的yahoo帐户?,android,android-webview,android-webservice,android-websettings,android-authenticator,Android,Android Webview,Android Webservice,Android Websettings,Android Authenticator,我正在编写一个测试webview应用程序,我打算在启动应用程序视图时打开我的雅虎邮件。这将是一个网络视图,在那里我想硬编码我的用户名和密码。我知道yahoo使用get方法而不是post。有什么办法可以做到这一点吗? 以下是我目前的代码: Webview webview = (WebView) getView().findViewById(R.id.mywebview); webview.setBackgroundColor(0); webview.getSettings(
Webview webview = (WebView) getView().findViewById(R.id.mywebview);
webview.setBackgroundColor(0);
webview.getSettings().setJavaScriptEnabled(true);
webview.setWebViewClient(new webClient());
String url = "https://www.yahoomail.com";
webview.loadUrl(url);
private class webClient extends WebViewClient {
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
view.setVisibility(View.VISIBLE);
}
@Override
public void onPageFinished(WebView view, String url) {
final Animation fade = new AlphaAnimation(0.0f, 1.0f);
fade.setDuration(200);
view.startAnimation(fade);
view.setVisibility(View.VISIBLE);
}
public void animate(final WebView view) {
final Animation anim = AnimationUtils.loadAnimation(getActivity(),
R.anim.slide_in_from_left);
view.startAnimation(anim);
}
@Override
public void onReceivedError( WebView view, int errorCode, String description, String failingUrl ) {
Toast.makeText(view.getContext(), "Authentication Error", Toast.LENGTH_LONG).show();
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setCookie("yahooemail@yahoo.com", "yahoopass");
super.onReceivedError(view, errorCode, description, failingUrl);
}
@Override
public void onLoadResource( WebView view, String url ){
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return super.shouldOverrideUrlLoading(view, url);
}
@Override
public void onReceivedHttpAuthRequest( WebView view, final HttpAuthHandler handler, final String host, final String realm ){
handler.proceed("yahooemail@yahoo.com", "yahoopass");
}
}
加载url(字符串url)加载给定的URL postrl(字符串url,字节[]postData)
使用“POST”方法将带有postData的URL加载到此WebView中 因此,与其使用:
String url = "https://www.yahoomail.com";
webview.loadUrl(url);
使用:
您可以从登录页面提取Yahoo所需的变量。
加载url(字符串url)加载给定的URL postrl(字符串url,字节[]postData)
使用“POST”方法将带有postData的URL加载到此WebView中 因此,与其使用:
String url = "https://www.yahoomail.com";
webview.loadUrl(url);
使用:
您可以从登录页面中提取Yahoo所需的变量。我如何使用yahoomail.com的postrl?这一行是什么?postvar=value&postvar2=value2我如何在yahoomail.com上使用postrl?这行是什么?postvar=value&postvar2=value2