2012-02-10 53 views
0

很久以前,我在Android Market上發佈了我的應用程序,現在我想更改sharedUserId,以便它可以與我的其他應用程序共享數據。如果我只是改變它,the new version cannot read files created by the old version。我能想到解決這個問題的唯一方法是麻煩而且容易出錯的。使用SD卡作爲臨時存儲有幾個缺陷,我無法更改文件權限,因爲我的應用程序使用2.1 SDK。如何更改已發佈應用程序的android:sharedUserId?

有沒有人知道(簡單和可靠)的方式來處理這個問題?

在此先感謝...

回答

1

我沒有執行什麼,我向你求婚,但我認爲這是可能的。考慮下面的想法(如果你實現它併發布你的代碼,它會很好,因爲我認爲這個問題很常見)。

因此,在具有新更新的舊版應用程序中,您可以創建一個將共享您的私人文件的內容提供程序。您可以使用級別簽名將權限安裝到此內容提供者。之後,在新應用程序中,您可以查詢存儲在此內容提供者中的數據。因此,您將有兩個應用程序:一個與內容提供商聯繫,另一個將僅使用此內容提供商下載(查詢)您的數據。

祝你好運!

+0

兩個應用程序(具有不同的包名稱)或同一應用程序的兩個版本?如果你是第一個,創建一個新的應用程序將需要我的用戶安裝一個新的應用程序,這是不可接受的。如果您的意思是同一個應用程序的兩個版本,新版本將覆蓋舊版本,所以ContentProvider也將消失。 – 2012-02-11 00:47:28

+0

不,我的意思是兩個程序。但在這種情況下,爲什麼你需要sharedUserId? – Yury 2012-02-11 12:28:13

+0

我想到了這一點以及使用它的犯人(它的工作原理),但它是我上面提到的一種繁瑣的方法,因爲它比共享文件靈活性低很多。 – 2012-02-11 18:48:58

相關問題