Android:在两个进程之间共享一个公共cookie存储

时间:2014-06-18 23:39:48

标签: android

我已经实现了一个持久的Http cookie存储,以便http cookie在应用程序重启时保持不变(类似于:https://github.com/loopj/android-async-http/blob/master/library/src/main/java/com/loopj/android/http/PersistentCookieStore.java

我的应用使用常规的HttpUrlConnection和Volley。

该应用程序包含两个进程 - 一个用于主应用程序UI,另一个用于处理音频流处理。第二个过程的原因是允许第三方客户端使用相同的音频处理功能。

我遇到的问题是主应用程序UI进程从我的服务器获取http cookie,但是来自第二个进程的请求没有设置这些cookie,因为它是一个单独的进程,反之亦然。

我考虑过在应用程序上下文级别创建共享对象,然后在两个进程中重用它,但似乎并不总是有效。

Application类中的示例代码(第一个过程):

public void onCreate() {
   super.onCreate();
   mCookieManager = new CookieManager(new PersistentCookieStore(this), CookiePolicy.ACCEPT_ALL);
   CookieHandler.setDefault(mCookieManager);
}

Service类中的示例代码(第二个过程):

if(appCtx.getCookieManager() != null) {
    CookieHandler.setDefault(appCtx.getCookieManager());
}

似乎我需要为每个进程提供一个cookie存储,以及在需要持久保存或更新/删除新cookie时同步它们的一些机制。寻找一些建议。

0 个答案:

没有答案