在Android 中要加载一个网页会用到WebView。当我们在使用WebView去打开一个网页的时,要带着Cookie怎么办?下面是一个实现带着Cookie去打开一个网页的小案例。
public class WelcomeActivity extends AppCompatActivity {
private WebView webView;
private String userName,passWord;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_welcome);
Intent intent = getIntent();
webView = (WebView)findViewById(R.id.webview);
/**
* 带着cookie访问一个网页
*/
CookieSyncManager.createInstance(WelcomeActivity.this);
CookieManager cookieMgr = CookieManager.getInstance();
cookieMgr.setAcceptCookie(true);
//第一参数是:该网页的主机地址+端口号,例如:http://192.168.1.1:8080
//第二参数是:Cookie的键值对
cookieMgr.setCookie("该网页的主机地址+端口号", "userName=xiaoming");
cookieMgr.setCookie("该网页的主机地址+端口号", "passWord=123456");
CookieSyncManager.getInstance().sync();
//要访问的网页,例如:http://192.168.1.1:8080/xxx/xxx/login.jsp
webView.loadUrl("要访问的网页");
webView.setWebViewClient(new WebViewClient(){
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
webView.loadUrl(url);
return true;
}
});
WebSettings settings = webView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
}
}