我现在搜索了很多cookie的持久性,但没有找到一个好的解决方案。
我使用HTTPUrlConnection对服务器进行身份验证,并返回cookie。我在CookieManager中检索它们,并将它们加载到一个新连接中。现在我想持久化那个cookie,也许是整个Cookiemanager Object。我找到了一个解决方案,您可以通过创建CookieManager来指定一个CookieStore来持久化cookie。
我发现只有旧的解决方案(2-3年)说你必须建立自己的持久CookieStore,因为持久CookieStore没有在SDK中实现?这是最新的吗?是否已经在SDK中实现了一个持久的CookieStore,或者我必须自己用SharedPreferences持久化cookie ?或者现在有没有更好的办法来保存cookie ?
问好,
这似乎在其他一些地方得到了回答,我没有尝试,但你可以在这个链接中得到详细的解释:
http://blog.winfieldpeterson.com/2013/01/17/cookies-in-hybrid-android-apps/public class YourApplication extends Application {
public void onCreate() {
super.onCreate();
//Setup Cookie Manager and Persistence to disk
CookieSyncManager.createInstance(this);
CookieManager.getInstance().setAcceptCookie(true);
}
}
public class MainActivity extends BaseActivity {
public void onResume() {
CookieSyncManager.getInstance().stopSync();
}
public void onPause() {
CookieSyncManager.getInstance().sync();
}
}
API21弃用CookieSyncManager,现在要确保cookie被写入磁盘使用:
CookieManager.flush()