我有兩個應用程序都登錄到相同的系統,但他們有單獨的功能,可能不能同時安裝。我可以使用相同的簽名簽署這兩個應用程序沒有問題,甚至可以讓它們在同一個進程中運行。跨多個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