2012-02-10 86 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

相关问题