webview添加cookie有时失效
2014-07-11 19:09
337 查看
转载:http://code.walletapp.net/post/46414301269/passing-cookie-to-webview
Passing cookie to webview
In few following lines I will describe my solution, how to pass cookies from DefaultHttpClient to WebView component. I was following many tutorials, but cookies weren’t send to WebView properly (in my Android 2.2). After several experiments I found out thatit is working, when we wait a little time between removeSessionCookie and setCookie methods. I don’t know why. But important is, that it is working right now for me.
Look at the following source code:
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 | public class WebViewActivity extends Activity { WebView myWebView; private final static String TAG = "WebView"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.webview); myWebView = (WebView) findViewById(R.id.webview); new WebViewTask().execute(); } private class WebViewTask extends AsyncTask<Void, Void, Boolean> { String sessionCookie; CookieManager cookieManager; @Override protected void onPreExecute() { CookieSyncManager.createInstance(WebViewActivity.this); cookieManager = CookieManager.getInstance(); sessionCookie = new PersistentConfig(getApplicationContext()).getCookieString(); if (sessionCookie != null) { /* delete old cookies */ cookieManager.removeSessionCookie(); } super.onPreExecute(); } protected Boolean doInBackground(Void... param) { /* this is very important - THIS IS THE HACK */ SystemClock.sleep(1000); return false; } @Override protected void onPostExecute(Boolean result) { if (sessionCookie != null) { cookieManager.setCookie("yourdomain.com", sessionCookie); CookieSyncManager.getInstance().sync(); } WebSettings webSettings = myWebView.getSettings(); webSettings.setJavaScriptEnabled(true); webSettings.setBuiltInZoomControls(true); myWebView.setWebViewClient(new WebViewClient() { @Override public boolean shouldOverrideUrlLoading(WebView view, String url) { return super.shouldOverrideUrlLoading(view, url); } }); myWebView.loadUrl("https://yourdomain.com/anything"); } } |
相关文章推荐
- webview添加cookie有时失效
- android上WebView设置cookie,以及设置webview cookie在部分手机失效
- Android webview 退出时关闭声音 4.视频全屏 添加cookie
- WKWebView添加cookie
- WKWebView添加cookie
- Android WebView添加Cookie和添加请求的头
- NT_iOS笔记—webview添加Cookie
- WKWebView添加cookie
- WebView中给url添加cookie的值
- android上WebView设置cookie,以及设置webview cookie在部分手机失效
- webview添加cookie
- 浅谈iOS中的WKWebView添加cookie
- 给WebView添加Cookie
- iOS中添加UITapGestureRecognizer手势识别后,UITableView的didSelectRowAtIndexPath失效
- Android 编程下 WebView 加载一个网页如何得到网页的 Cookie 值
- Android基础---WebView添加基本的放大缩小功能以及为图片添加放大缩小功能
- webview中cookie的读取与保存
- android WebView 与 HttpClient Cookie
- Android webview 中添加背景