【问题标题】:Share files between applications在应用程序之间共享文件
【发布时间】:2010-04-21 07:28:53
【问题描述】:

我可以与另一个共享一个应用程序相关数据吗?假设我在 apk2 的资源/原始文件夹中有一个音乐文件。我可以在 apk1 中使用相同的文件吗?

谢谢...

【问题讨论】:

    标签: android file sharing


    【解决方案1】:

    如果您的应用使用相同的证书签名并在清单中声明了相同的android:sharedUserId,则它们可以共享数据,因为它们可以读取/写入彼此的数据目录。如果您愿意,他们甚至可以共享流程(请参阅 android:process)。

    【讨论】:

    • 在更新已在 Google Play 上的应用时,android:sharedUserId 会起作用吗?
    • 我想我在某处读到,在已发布的应用程序上设置 sharedUserId 将擦除所有数据..
    • 使用不同密钥签名的应用怎么样?有没有办法在应用程序之间创建一个公共共享文件夹?
    • @trusktr 你可以在外部存储上共享一个目录,但这将是世界可读的。
    • @A.A 请注意,如果旧版本的清单中没有 android:sharedUserId 属性而新版本有,则无法更新应用程序。
    【解决方案2】:

    拥有音乐文件的应用程序需要实现Content Provider。这将允许其他应用程序检索内容。

    【讨论】:

    • 确切地说,我的目的是在两个 apk 之间共享 libs 文件夹中的库文件 (.so)。我可以从应用程序数据的 libs 文件夹之外的任何其他位置加载库文件吗?
    • @dave webb 如果我使用内容提供程序,其他应用程序可以更改文件吗?
    【解决方案3】:

    要在 apk 之间共享文件,您需要传递文件的 uri 以及 Content Provider 的实现。在访问它时,使用第二个 apk 中的内容解析器。

    您可以在图库和电子邮件应用程序集成中看到这一点,其中图像从图库中附加到电子邮件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-08
      • 1970-01-01
      • 2023-03-21
      • 1970-01-01
      相关资源
      最近更新 更多