我正在從我的原生谷歌服務器的響應,以保持登錄到網頁視圖我的域名網址+簽到的OAuth2令牌,我設置的cookie:如何使用會話ID和用戶ID信息
String cookieSessionString = "JSESSIONID" + "=" + i.getStringExtra("C_session_id");
String cookieEmailString = "useremail" + "=" + i.getStringExtra("C_user_email");
String cookieNameString = "username" + "=" + i.getStringExtra("C_user_name");
String cookieUseridString = "userid" + "=" + i.getStringExtra("C_user_id");
CookieManager cookieManager = CookieManager.getInstance();
CookieSyncManager cookieSyncManager = CookieSyncManager.createInstance(webView.getContext());
cookieManager.setCookie("mydomain.co", cookieSessionString);
cookieManager.setCookie("mydomain.co", cookieEmailString);
cookieManager.setCookie("mydomain.co", cookieNameString);
cookieManager.setCookie("mydomain.co", cookieUseridString);
cookieManager.setAcceptCookie(true);
cookieSyncManager.getInstance().sync();
在的WebView我打電話:
webView.getSettings().setAppCacheEnabled(true);
WebViewDatabase.getInstance(this).clearHttpAuthUsernamePassword();
webView.getSettings().setDatabaseEnabled(true);
webView.getSettings().setDomStorageEnabled(true);
webSettings.getCacheMode();
webView.loadUrl(base_url);
webView.setWebViewClient(new WebViewClient() {
@Override
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
startActivity(new Intent(MainActivity.this, NoDataActivity.class).putExtra("Activity", "Main.class"));
super.onReceivedError(view, errorCode, description, failingUrl);
}
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
return true;
}
@Override
public void onLoadResource(WebView view, String url){
CookieManager cookieManager = CookieManager.getInstance();
cookie = cookieManager.getCookie(url);
Log.d("ONloadResource","cookie is"+cookie);
}
@Override
public void onPageFinished(WebView view, String url) {
super.onPageFinished(view, url);
CookieManager cookieManager = CookieManager.getInstance();
cookieManager.setCookie(url, cookie);
progressBar.setVisibility(View.GONE);
progressBar.setProgress(100);
if (url.contains("/ccavResponseHandler.jsp")) {
webView.loadUrl("javascript:window.HTMLOUT.processHTML ('<head>'+document.getElementsByTagName('html')[0].innerHTML+'</head>');");
}
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
progressBar.setVisibility(View.VISIBLE);
progressBar.setProgress(5);
}
});
而且還試圖發送頭,如:
extraHeaders.put("JSESSIONID", i.getStringExtra("C_session_id"));
extraHeaders.put("username", i.getStringExtra("C_user_name"));
extraHeaders.put("useremail", i.getStringExtra("C_user_email"));
webView.loadUrl(url, extraHeaders);`
沒有在網頁視圖升工作ogin ..!
任何人都可以幫助我如何使用會話ID和用戶電子郵件,身份證在web視圖中在我的域URL登錄。
我得到谷歌令牌從谷歌+本地登錄api客戶端然後在asyntask我連接到我的服務器API與該令牌的會話ID ..現在我需要登錄到webview的細節..如何實現這一點 – sudhir