可我做了一个Android应用程序与最低要求的API 8. 的用户都在我的后端有一个cookie身份验证。这适用于每个具有api级别9或更高级别的设备。 cookie将被保存CookieManager:饼干在Android 2.2是没有的WebView
CookieManager cManager = CookieManager.getInstance();
CookieSyncManager.createInstance(LauncherApplication.getAppContext());
cManager.setAcceptCookie(true);
cManager.setCookie(".xxxxxxxx.xx", "MobileGuid=" + guid);
CookieSyncManager.getInstance().sync();
我检查,如果这个cookie可用也与CookieManager:
public static boolean hasCookie(){
CookieManager cManager = CookieManager.getInstance();
String cookieString = cManager.getCookie(".xxxxxxx.xx");
if(cookieString != null && cookieString.contains("MobileGuid")){
return true;
}
return false;
}
这将返回总是如此,但Cookie只是可供选择的WebView如果在Android版本高于2.2。 (我的phpinfo检查这一点)
我的WebView配置是这样的:
String databasePath = LauncherApplication.getAppContext().getApplicationContext().getDir("database",
Context.MODE_PRIVATE).getPath();
WebSettings mainWebSettings = mainWebView.getSettings();
mainWebSettings.setJavaScriptEnabled(true);
mainWebSettings.setAppCacheEnabled(true);
mainWebSettings.setDatabaseEnabled(true);
mainWebSettings.setDomStorageEnabled(true);
mainWebSettings.setDatabasePath(databasePath);