【问题标题】:Is it possible for my own document provider to be offered only within my app?是否可以仅在我的应用程序中提供我自己的文档提供程序?
【发布时间】:2018-12-23 02:41:39
【问题描述】:

这是一个非常简短的答案,我找不到答案,不在the docs 中,也没有在互联网上的任何地方:

在 Android 上,应用可以让用户从中选择文件,从其他应用中进行选择。例如,谷歌照片应用程序允许从中选择照片文件。这是通过实现DocumentProvider 来完成的。

我想问一下是否可以仅向我的应用本身提供我的应用内容。

这有助于提供照片选择,例如,仅与应用程序本身相关。

【问题讨论】:

  • 我不认为这是一个选择,尽管这是一个有趣的想法。
  • @CommonsWare 如果没有,也许我应该在问题跟踪器上提出请求。
  • 好的,因为我找不到怎么做,我已经请求了:issuetracker.google.com/issues/111530480

标签: android document-provider


【解决方案1】:

从此文档链接: Create a custom document provider

“属性 android:exported 设置为“true”。您必须导出您的提供程序,以便其他应用程序可以看到它。”

在清单中将 android:exported 设置为 false。

DocumentProvider 是一个 ContentProvider,因此查看 ContentProvider 的文档会提供更多信息:

ContentProvider

"false: 提供程序不可用于其他应用程序。设置 android:exported="false" 以限制对提供程序的访问仅限于您的应用程序。只有与提供程序具有相同用户 ID (UID) 的应用程序才能访问给它。”

【讨论】:

  • 看起来很有希望。他们是否也提供了样本?我想快速检查一下...
  • 在 github 上有几个使用 DocumentsProvider 的项目:Link。不幸的是,我目前唯一可以访问的是客户的项目。
  • 好的,谢谢。很快就会尝试,我希望。如果你可以试试,请告诉我。
  • Np。我大概可以在星期一做。我今天一整天都在外面……干杯。
  • 谢谢。我希望你成功。
猜你喜欢
  • 2012-01-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-28
  • 2014-03-15
  • 2019-03-07
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多