可我做了一個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);