【问题标题】:Sharing data between applications from different publishers在来自不同发布者的应用程序之间共享数据
【发布时间】:2014-06-18 23:50:08
【问题描述】:

我试图搜索这个特殊的案例,但还没有找到任何东西。使用ContentProvider 可以在两个应用程序之间共享数据,您可以将protectionLevel 设置为signature,因此具有该签名的应用程序可以访问数据(同一发布者)。

但是如果场景如下:

  • 开发者 A 和 B 发布应用程序。

  • 我、A 和 B 决定一起做一些合作。我要提供自己的应用程序,但我需要访问 A 和 B 的私人信息。

这可能吗? A 和 B 需要授予我的应用程序访问他们的权限,比如说ContentProvider

谢谢。

【问题讨论】:

    标签: android android-contentprovider


    【解决方案1】:

    protectionLevel 设置为signature 将只允许访问使用相同密钥签名的应用程序之间的数据(在这种情况下,A、B 和您应该同意使用相同的密钥来签署您已发布的应用程序)。

    如果不是这种情况,则 A 和 B 应导出其 ContentProvider 并(可选)提供读取/写入数据的权限。如果他们定义了权限,那么您的客户端应用程序应在清单中指定此权限。

    参考资料:

    http://developer.android.com/guide/topics/manifest/provider-element.html http://developer.android.com/training/articles/security-tips.html

    【讨论】:

    • 这样的话,是不是任何应用程序也可以获取A和B的ContentProvider数据?
    • 是的。请记住,如果 A 和 B 导出其 ContentProvider,则任何应用程序都可以访问此数据。如果他们定义了权限,则由用户在安装客户端应用程序时接受他们。
    • 那么有没有办法只授予特定应用程序的访问权限以获取一些私有数据而无需与服务器通信?
    猜你喜欢
    • 2023-03-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    • 1970-01-01
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    相关资源
    最近更新 更多