问题标签 [fileprovider]

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 投票
0 回答
126 浏览

android - 使用 FileProvider 或自己的 ContentProvider 提供 html 文件

将uri 用于 html 文件可以让 Chrome 和 Edge 等浏览器显示 html 页面ACTION_VIEWFileProvider还显示 HTML-viewer 应用程序。编辑器应用程序可以处理该文件。

如果使用ContentProvider扩展 uri,则浏览器仅提供下载文件。HTML-viewer 显示一个不确定的进度条。我的应用程序和外部编辑器应用程序仍将读取和编辑该文件。所以提供作品。

我看到 Chrome、Edge 和 HTML-viewer 只调用 openFile() 和 getType()。

我不知道为什么两种内容方案都受到不同的对待。

这是简单的内容提供程序代码:

在清单中:

利用:

问题是:我必须做什么才能让浏览器像使用 FileProvider 时那样显示源代码?或者是什么让他们改为提供下载?

0 投票
0 回答
32 浏览

java - 如何在另一个应用程序中共享来自内部存储的媒体?

我已经尝试解决这个问题将近 3 天了,但我根本无法成功。我查看了所有可能的主题,但没有任何效果。

这是功能代码:

这就是清单中的提供者的样子:

我还导入了androidx.core.content.FileProvider

显示可以共享图像的应用程序的对话框出现。但每当我选择 WhatsApp 或任何其他应用程序时,就会出现写有“共享失败,请重试”的祝酒词。

最后,我也已经设置了 provider_paths.xml。

我真的不知道该怎么办。请给我一个可以解决的解决方案..

0 投票
1 回答
88 浏览

macos - How to retrieve the XPC service of a file provider extension on macOS?

I have extended my example project from my previous question with an attempt to establish an XPC connection.

In a different project we have successfully implemented the file provider for iOS. The exposed service must be resolved by URLs it is responsible for. On iOS it is the only possibility and on macOS it appears like that, too. Because on macOS the system takes care of managing files there are no URLs except the one which can be resolved through NSFileProviderItemIdentifier.rootContainer.

In the AppDelegate.didFinishLaunching() method I try to retrieve the service like this (see linked code for full reference, I do not want to unnecessarily bloat this question page for now):

The delivered list always is empty. However the extension is creating a service source on initialization which creates an NSXPCListener which has an NSXPCListenerDelegate that exports the NSFileProviderReplicatedExtension object on new connections. What am I missing?

Suspicious: serviceName of the FileProviderServiceSource never is queried. We are out of ideas why this is not working.

0 投票
0 回答
37 浏览

swift - 无法在 NSFileProvider (macOS) 中获取项目

在 fetchContents(..) 方法中,我通过 session.downloadTask 从服务器下载文件项。我将文件从响应 url 复制到临时 url(从 NSFileProviderManager.temporaryURL 创建)。在此之后,可以确定临时 url 的文件内容不是 0byte (与下载的文件长度相同)然后我用这个临时 url,文件提供程序项调用 completionHandler。但我无法在 finder 中打开文件并显示错误消息 - 无法打开,因为文件为空。(我以为是itemVersion问题,所以我临时更改了contentVersion,之后,当我重建应用程序时,它开始在finder中下载项目并成功下载文件。我什至可以打开文件。但是当我点击另一个文件打开它,我无法用味精打开它 - 文件是空的。)

0 投票
0 回答
53 浏览

macos - 从 /Applications 文件夹运行应用程序时,文件提供程序未加载

我开发了一个使用新的 NSFileProviderReplicatedExtension 的功能应用程序。在我开始部署并意识到我的应用程序在从/Applications文件夹运行时无法成功添加域之前,一切都按预期工作。来电:

此调用导致错误:

从 XCode 构建目录或~/Desktop fileprovider 扩展运行应用程序按预期工作。

在调用“addDomain”的那一刻在控制台中仔细检查后,我可以看到从不同位置运行应用程序时没有出现的一行。

我尝试在构建设置中更改代码设计和沙箱中的所有内容,但没有更改。我也尝试过在 Obj-C 和 swift 中制作应用程序 - 没有区别。有什么建议么?


供参考的是我在苹果开发者论坛上的问题: https ://developer.apple.com/forums/thread/696254

0 投票
1 回答
99 浏览

android - Delphi找不到fileprovider.xml构建Android

我正在尝试创建一个 PDF 文档,然后在 Android 应用程序中打开它。该代码基于 GitHub 项目https://github.com/AlessandroMartini/Delphi-Android-GeraPDF 我在 RAD Studio 11 中使用 Delphi。

我已经成功地解决了允许我的应用程序保存它创建的文件的权限,现在我卡在尝试查看我使用 Intent 创建的文件以允许在另一个应用程序中打开文件以查看它。

在我的主要形式中,我有以下内容:

到目前为止,这似乎很好。

我的 AndroidManifest.template.xml 文件是这样的,该<provider></provider>部分已添加到默认代码中:

我的 fileprovider.xml 文件包含以下内容:

我知道路径值不是我应该使用的,我可以稍后修复。

问题出现在我构建它并尝试运行它之后。

AndroidManifest.template.xml 位于我的项目源的根文件夹中。

我尝试将 fileprovider.xml 放在项目根目录、./res、./xml 和 ./res/xml 文件夹中,但我收到一个 PAClient 错误,表明找不到 fileprovider.xml。

[PAClient 错误] 错误:E2312 无法执行“C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidSDK-2525-22.0.42600.6491\build-tools\30.0.3\Aapt.exe”包-f -M "C:\Projects\Rad\JavaTest1\Android\Debug\TestPermissions\AndroidManifest.xml" -F "C:\Projects\Rad\JavaTest1\Android\Debug\TestPermissions\bin\TestPermissions-unaligned.apk" -I "C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidSDK-2525-22.0.42600.6491\platforms\android-30\android.jar" -S "C:\Projects\Rad\JavaTest1\ Android\Debug\TestPermissions\res" -A "C:\Projects\Rad\JavaTest1\Android\Debug\TestPermissions\assets" "C:\Projects\Rad\JavaTest1\Android\Debug\TestPermissions\library" "C:\项目\Rad\JavaTest1\Android\Debug\TestPermissions\classes"'(错误 1)

[PAClient 错误] 错误:E2312 C:\Projects\Rad\JavaTest1\Android\Debug\TestPermissions\AndroidManifest.xml:38:错误:错误:未找到与给定名称匹配的资源(在“资源”处,值为“@xml” /文件提供者')。

为什么找不到 fileprovider.xml 的任何想法?

0 投票
0 回答
16 浏览

java - Scoped Storage - 如何使用 FileProvider 在我的两个应用程序之间共享文件 (Java)

我想知道,Java 中有没有关于如何使用 FileProvider 从我们的两个应用程序共享文件的示例。我们有一个应用程序需要向我们的另一个应用程序发送参数。有人告诉我一个解决方案是使用 FileProvider 并使用 URI 检索它。但是,我在 Java 中找不到任何清晰的代码示例。有人可以帮我吗?