问题标签 [document-provider]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1971 浏览

ios - 为什么照片应用程序未显示在设备上的文档提供程序扩展中?

我正在应用程序中挑选照片,我曾经UIDocumentMenuViewController显示文档提供者的扩展名列表。此列表显示 Dropbox、iCloud、GoogleDrive,但不显示本机照片应用程序,为什么?我的代码示例:

在此处输入图像描述

0 投票
0 回答
131 浏览

ios - IOS 文档提供程序扩展:识别主机应用程序

我正在开发一个具有安全文件容器的应用程序。出于安全需要,我们必须禁止对黑名单中的主机应用程序进行文档扩展。是否有机会识别主机应用程序的捆绑包/名称。

我试图访问 NSXPCConnection * _auxiliaryConnection; 在 NSExtensionContext 但它为零。(https://github.com/CPDigitalDarkroom/iOS9-SpringBoard-Headers/blob/master/usr/lib/libextension.dylib/NSExtensionContext.h

谈论文档扩展提供者我的意思是(https://developer.apple.com/library/ios/documentation/General/Conceptual/ExtensibilityPG/FileProvider.html

谢谢!

0 投票
0 回答
110 浏览

android - 来自服务器存储的 Android DocumentsProvider

我如何从 Web 服务而不是本地资产中提取目录?我需要编写一个 DocumentsProvider 来共享位于服务器上的文档。我对如何做到这一点完全不知所措。服务器有一个 API,允许我检索有关文档和它们所包含的库的信息。

例如 - 我可以检索一个 JSON 数组,http://myserver/api/getlibraries其中包含包含有关可用文档库的信息的对象,例如 CreatedBy、Name 以及该库中有多少文档。我也可以从下载文件http://myserver/api/getdocument?docID=<documentID>

我将如何从 Web 服务而不是本地资产中提取目录?

我不能提供更多细节,因为我不知道要提供哪些细节,但请随时询问,我会尽力提供。

谢谢你的帮助

0 投票
0 回答
82 浏览

ios - 在 Document Provider iOS 应用扩展中禁用旋转

我正在制作应用程序扩展,并希望方向仅为纵向。加载我的应用程序扩展后,我可以阻止我正在扩展为横向的应用程序的旋转吗?

我尝试在我的扩展的 UIViewController 中添加这些方法,但它似乎没有改变任何东西:

0 投票
1 回答
578 浏览

ios - IOS 文档提供程序显示“不支持文件类型”

我正在尝试实现一个 iOS 文档提供程序扩展,特别是为了使网页可以直接访问我的应用程序“Flyskyhy”中的文件。我已通读普通文档,并使用 XCode 中的标准方式将 DocumentProvider Extension 目标添加到项目中。我还没有更改该默认实现中的任何内容,但想先尝试一下。从 Mail 访问时(通过添加附件操作),该扩展程序会显示并正确调用。

但是,当我尝试从 Safari 中的网页访问它时,该扩展程序不会显示在默认源列表中:

在此处输入图像描述

然后,当我按“更多”时,它会显示文本“不支持文件类型”:

在此处输入图像描述

有谁知道可能会发生什么,以及我能做些什么来完成这项工作?

编辑:

因为从来没有调用过 Document Provider API,所以很可能是Info.plist. 有关信息,请参见此处:

0 投票
1 回答
250 浏览

xamarin - Xamarin iOS:为什么需要调用 StartAccessingSecurityScopedResource 并在 DocPicker 示例中释放它

我在 Xamarin iOS 中使用文档选择器。在 DocPicker 的示例中,他们调用了诸如 StartAccessingSecurityScopedResource 之类的东西,并在顶部添加了注释。

// 重要的!您必须先锁定安全范围,然后才能 // 访问此文件。

为什么他们必须锁定这个文件?是否防止文件在访问文件时从其他地方修改。

0 投票
3 回答
2848 浏览

android - 使用 MTP 通过 Android Storage Access Framework / DocumentProvider 遍历目录层次结构的问题

更新:我最初的问题可能具有误导性,所以我想改写一下:我想通过 Android 的存储访问框架从 MTP 连接的设备遍历层次结构树。我似乎无法做到这一点,因为我得到一个SecurityException声明,即子节点不是其父节点的后代。有没有办法解决这个问题?或者这是一个已知问题?谢谢。

我正在编写一个 Android 应用程序,它尝试使用 Android 的存储访问框架 (SAF) 通过MtpDocumentsProvider. 我或多或少遵循https://github.com/googlesamples/android-DirectorySelection中描述的代码示例,了解如何从我的应用程序启动 SAF Picker,选择 MTP 数据源,然后在onActivityResult中使用返回Uri的遍历层次结构。不幸的是,这似乎不起作用,因为一旦我访问一个子文件夹并尝试遍历它,我总是会得到一个SecurityException说明document xx is not a descendant of yy

所以我的问题是,使用MtpDocumentProvider,我怎样才能成功地从我的应用程序遍历层次结构树并避免这个异常?

具体来说,在我的应用程序中,首先,我调用以下方法来启动 SAF Picker:

Android SAF 选择器随后启动,我看到我连接的设备被识别为 MTP 数据源。我选择所述数据源并Uri从我的onActivityResult

然后,使用返回的Uri,我调用DocumentsContract.buildChildDocumentsUriUsingTree以获取Uri然后我可以使用它来查询和访问树层次结构:

外部 while 循环的第一次迭代成功:调用query返回了一个有效Cursor的我可以遍历。问题是第二次迭代:当我尝试查询Uri恰好是 的子节点的 时rootUri,我得到一个SecurityException说明文档 xx 不是 yy 的后代的信息。

D/MyApp(19241): 节点 uri: content://com.android.mtp.documents/tree/2/document/2/children D/MyApp(19241): docId: 4, name: DCIM, mime: vnd. android.document/directory D/MyApp(19241): node uri: content://com.android.mtp.documents/tree/2/document/4/children E/DatabaseUtils(20944): 写入异常包裹E/DatabaseUtils (20944):java.lang.SecurityException:文档 4 不是 2 的后代

谁能提供一些关于我做错了什么的见解?如果我使用不同的数据源提供程序,例如来自外部存储的数据源提供程序(即通过标准 USB OTG 读卡器连接的 SD 卡),一切正常。

附加信息:我在 Nexus 6P、Android 7.1.1 上运行它,我的应用minSdkVersion是 19。

0 投票
1 回答
401 浏览

ios - 文档选择器...启动失败

我创建了自己的 DocumentPickerExtensionViewController,并希望能够在 iOS 上的 Excel 应用程序中打开它。在 office 应用程序中,我按 Open -> ... More -> Locations 并选择我的分机名称。但是在加载大约两秒钟后会弹出一个对话框,上面写着“文档选择器......无法启动(0)”。

谷歌搜索时,我找不到有关此错误的任何信息。有谁知道我可能做错了什么?

0 投票
0 回答
31 浏览

android - DocumentsProvider 的用户凭据

我目前正在我们的 Android 应用程序中实现我自己的 DocumentsProvider 类。但是为了让用户能够访问应用程序中的任何文档,用户必须登录到我们的服务器。似乎处理这个问题的唯一方法是告诉用户在进入其他应用程序之前登录我们的应用程序并使用我们的 DocumentProvider。这样我们可以在查询文档时检查用户是否已登录。那是对的吗?

0 投票
2 回答
7049 浏览

android - 异常 java.lang.SecurityException:读取 ..MediaDocumentsProvider ... 需要 android.permission.MANAGE_DOCUMENTS 或 grantUriPermission()

尝试为个人资料图片选择图片时,我仅在某些设备中发现了此问题。在模拟器中签入这些问题时看不到,但在应用程序的实时版本中,此问题是该用户面临的。从 Firebase 崩溃报告中截取的屏幕截图。请帮我找出问题所在。

AndroidMenifest.xml

SomeActivity.java

Android 5.1.1 中的错误 异常 java.lang.SecurityException: Permission Denial:从 pid=19207 读取 com.android.providers.media.MediaDocumentsProvider uri content://com.android.providers.media.documents/document/image%3A6617 , uid= 10260 需要 android.permission.MANAGE_DOCUMENTS 或 grantUriPermission()

在此处输入图像描述

Android 8.0.0 中的错误异常 java.lang.SecurityException: Permission Denial: 从 ProcessRecord{5c1039e 5061:com.mobotechnology.cvmaker/u0a219} 打开提供程序 com.android.providers.media.MediaDocumentsProvider (pid=5061, uid=10219)要求您使用 ACTION_OPEN_DOCUMENT 或相关 API 获得访问权限

在此处输入图像描述