【问题标题】:How to change android:sharedUserId of a published app?如何更改已发布应用的 android:sharedUserId?
【发布时间】:2012-02-10 22:55:17
【问题描述】:

我很久以前在 Android Market 上发布了我的应用程序,现在我想更改 sharedUserId 以便它可以与我的其他应用程序共享数据。如果我只是更改它,the new version cannot read files created by the old version。我能想到的解决问题的唯一方法都是繁琐且容易出错。使用 SD 卡作为临时存储有几个陷阱,我无法更改文件权限,因为我的应用使用 2.1 SDK。

有谁知道处理这个问题的(简单而可靠的)方法吗?

提前谢谢...

【问题讨论】:

    标签: android android-manifest


    【解决方案1】:

    我没有实现我要提议的内容,但我认为这是可能的。考虑下面的想法(如果你实现它并发布你的代码会很好,因为我认为这个问题很常见)。

    因此,在带有新更新的旧版本应用程序中,您可以创建一个内容提供程序来共享您的私人文件。您可以使用级别签名将权限安装到此内容提供者。之后,您可以在新应用程序中查询存储在此内容提供程序中的数据。因此,您将拥有两个应用程序:一个使用内容提供程序,第二个将仅使用此内容提供程序下载(查询)您的数据。

    祝你好运!

    【讨论】:

    • 两个应用(包名不同)还是同一个应用的两个版本?如果你的意思是第一个,创建一个新的应用程序将需要我的用户安装一个新的应用程序,这是不可接受的。如果你的意思是同一个应用的两个版本,新版本会覆盖旧版本,所以 ContentProvider 也会消失。
    • 不,我的意思是两个程序。但在这种情况下,为什么需要 sharedUserId?
    • 我想到了这个和囚犯使用它(它有效),但它是我上面提到的繁琐方法之一,因为它比共享文件灵活得多。
    • 我认为它们几乎是等效的方法。共享两个文件意味着您还必须更改两个应用程序(旧的和新的)。正如我所见,这个问题并没有应有的那么受欢迎(因为它真的很有趣)。但我真的很想对这个问题有更多的意见。
    猜你喜欢
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-19
    • 1970-01-01
    • 2018-09-18
    相关资源
    最近更新 更多