我有两个应用程序都登录到相同的系统,但他们有单独的功能,可能不能同时安装。我可以使用相同的签名签署这两个应用程序没有问题,甚至可以让它们在同一个进程中运行。跨多个Android应用程序保留登录会话
如何以两种应用程序共享的方式来存储登录cookie(以及其他内容),并且仍能保护未知应用程序?
我有两个应用程序都登录到相同的系统,但他们有单独的功能,可能不能同时安装。我可以使用相同的签名签署这两个应用程序没有问题,甚至可以让它们在同一个进程中运行。跨多个Android应用程序保留登录会话
如何以两种应用程序共享的方式来存储登录cookie(以及其他内容),并且仍能保护未知应用程序?
共享用户标识应该让你访问对方的私有存储,你只需要弄清楚对方是否已经安装好,找出它的私有存储的绝对路径,然后查看它是否有cookie 。希望你不会饿死在哲学家的桌子上。
Err ...它叫什么...数据提供者?不。我收到“服务”和“内容提供商”混淆。
将这两个应用程序和登录服务放在同一个进程中。任何应用程序都应该能够启动服务或查询它的会话信息以及任何其他您可能想要放在那里的信息。
或者,您可以将所有信息放入共享数据库。
登录对话框本身可能必须是一个活动,我不确定是否可以在服务中有活动。您可能需要在应用中使用重复的登录屏幕,然后才能将会话数据传递给您的服务以进行共享。
我不确定服务是否必须是单独安装,或者可以与这两个应用程序捆绑在一起。
这可能会起作用,但除非他们想从市场上安装3rd apk(非市场安装需要所有手机上不可能进行设置更改),否则它可能需要两个唯一命名但相同的服务副本,每个apk中都有一个副本,和一些逻辑推测哪一个开始。 – 2010-11-30 16:55:43
这里有一个很好的解决方案:
What's the best way to do "application settings" in Android?
既然你想两个应用程序之间共享这一点,无论你想实现它的方式,不要忘记,这将是所有应用程序可见。您可能想要加密您的密码或会话ID。这里有一个例子:
http://android.voxisland.com/code_examples/How_to_encrypt_and_decrypt_strings.rhtml
祝你好运!
我怀疑会有并发问题,特别是如果他从正在运行的Activity的上下文访问登录。但是,这比内容提供者(太重量级,其他应用程序可访问)或将某些内容保存到系统范围的共享存储器更好。 – 2010-11-30 19:12:33