问题标签 [parcelfiledescriptor]

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 回答
285 浏览

android - 关闭使用来自 Java 的文件描述符的 C++ 文件指针

当在本机代码中使用从ParcelFileDescriptor获得的文件描述符时,本机端是否应该在fdopen之后使用fclose

文档指出ParcelaleFileDescriptor实例拥有文件描述符,应该通过它关闭它。我不知道在关闭文件描述符之前关闭本机 FILE 指针的影响。

伪代码:

0 投票
1 回答
1288 浏览

android - 传递读取的 FD parcelable:何时关闭?

为了通过 binder 传递大量数据,我们创建一个管道,然后将管道的读取端作为 a 传递到 binder ParcelFileDescriptor,并启动一个线程将数据写入管道的写入端。它基本上看起来像这样:

接收端从管道的读取端读取数据。它看起来像这样:

这可行,但是当启用严格模式时,我们会崩溃:

第 118 行是管道的创建 (ParcelFileDescriptor.createPipe())。

所以看起来发件人需要关闭读端和写端。我的问题是我不知道什么时候可以关闭阅读端,因为我不知道读者什么时候会读完。

我错过了什么?

0 投票
1 回答
941 浏览

android - Android ParcelFileDescriptor 到路径字符串

如果我有一个传递给我的 ParcelFileDescriptor 并且我需要调用一个需要 filePathString 的 API,我看不到如何映射它?如果没有创建一个临时文件然后将其作为路径传递,有没有更简洁的方法呢?

0 投票
0 回答
50 浏览

javascript - 我想在下载完成后打开我的文件

我通过 jsoup 提取了一些 url。

并做了一个下载管理器。

并且似乎 parcelfiledescriptor 不起作用。

我尝试注册广播公司,但没有用。

我不知道应该在哪里插入“parcelfiledescriptor”和“regist broadcaster”

我不知道要解决这个问题...

附言。这些网址是这样的

" http://www.dhu.ac.kr/korean/HOME/bbs/bbs_download.php?mv_data=aWR4PTI3MDU0MyZzdGFydFBhZ2U9MCZsaXN0Tm89MjY2JnRhYmxlPWV4X2Jic19kYXRhX2RodWxpZmUmbmF2X2NvZGU9ZGh1MTM0NDQwODk1NCZjb2RlPWZvb2Qmc2VhcmNoX2l0ZW09JnNlYXJjaF9vcmRlcj0mb3JkZXJfbGlzdD0mbGlzdF9zY2FsZT0mdmlld19sZXZlbD0mdmlld19jYXRlPSZ2aWV3X2NhdGUyPQ==||&type=0&download=h "

有什么方法可以在没有 Excel 查看器的情况下打开此 url?“ http://docs.google.com/gview?embedded=true&url= url” 不起作用

0 投票
1 回答
675 浏览

android - Android 10:无法在 IntentService 中使用 openFileDescriptor

我需要通过我们的应用上传用户选择的附件。在接受用户选择的 URI 的 Activity 中调用上传时,上传工作。但是,当我将 URI 传递给 IntentService 以便可以在后台上传一个巨大的附件时,我在以下行的 IntentService 中收到“Permission Denial”异常 -

请让我知道我可能做错了什么。如果无法在原始 Activity 未收到的 URI 上使用 openFileDescriptor,请建议一种在后台上传巨大附件的好方法,因为用户在选择要上传的文件后可能会离开 Activity。感谢你的帮助。

0 投票
2 回答
1614 浏览

java - java.io.FileNotFoundException:打开失败:Android 中的 ENOENT 错误

我正在尝试通过从照片中选择图像来获取文件并获取意图数据,将文件保存在内部存储器中并使用该文件加载到图像视图中。

但我收到如下错误:

java.io.FileNotFoundException:/storage/emulated/0/Android/data/com.dailyfaithapp.dailyfaith/Files/MI_10052020_1711.png:打开失败:ENOENT(没有这样的文件或目录)

我在 24 上检查了较低版本的 api,它工作了一两次,但又失败了。

在 api 29 上它根本不起作用。为此,我关注了这个网址: https ://medium.com/@sriramaripirala/android-10-open-failed-eacces-permission-denied-da8b630a89df

我检查了java中的代码并尝试了相同的方法,但仍然给出了错误。

我还在检查运行时权限并在清单文件中指定了权限。

以下是我的代码:

检查运行时权限:

检查是否授予权限:

开业意向:

获取有关结果的意图数据:

保存和获取文件

在我只使用以上两个函数保存文件时出现 EACCESS 错误之前。

后来我尝试了 Parcel 文件描述符但不工作 为什么我收到这个错误?是否也仅在 api 级别 29 或以下?在所有设备上运行的解决方案是什么?

0 投票
2 回答
1919 浏览

android - io.FileNotFoundException:打开失败:EACCES(权限被拒绝)

我正在尝试将 API 级别 28 更新到 30。这是一个照片编辑器项目。该应用程序已成功运行,但是从本地存储中为作物挑选照片时,该应用程序无法正常工作,并且我看到了此错误。“打开失败:EACCES(权限被拒绝)”当我尝试使用 API 28 等旧 API 时,该应用程序运行正常。我检查了 Logcat 并没有找到任何解决方案。另外,我正在尝试改善我的清单许可。但清单权限是可以的。我认为问题出在java代码或方法之下。

在此处输入图像描述

请任何人帮助我。

日志猫:

爪哇:

0 投票
2 回答
466 浏览

android - 如何修复 Kotlin 中 FileInputStream 和 FileDescriptor 的错误路径

FILE 是使用 cacheDir 中的 URI 创建的,但是当我尝试获取路径时,找不到图像,在创建文件之前记录了 URI,并且能够看到图像文件的正确 URI。现在我在应用程序缓存中创建了一个文件并尝试检索图像的路径然后没有获得完整的图像路径,不确定图像是否创建这是我的代码

尝试记录 URI 和 FILEPATH ,这是详细信息

错误日志

更新了创建文件的代码

应用程序在崩溃val outputStream = FileOutputStream(file)

0 投票
1 回答
73 浏览

android - 分离后关闭 ParcelFileDescriptor 文件描述符

在 Android 中,我使用ParceFileDescriptor中的detachFd方法来获取我传递给本机代码以供使用的文件描述符。由于文件描述符被分离,我使用fdclose在本机代码中关闭它。

既然它是分离的,我还应该关闭ParcelFileDescriptor java实例吗?

在我看来,我不应该这样做,但我发现在 Lollipop 等旧版本的 Android 中,StrictMode 抱怨资源没有关闭,可能是因为不知道它已被分离。

如果即使文件描述符已被分离也需要关闭ParcelFileDescriptor ,如果在本机代码中仍然使用分离的描述符时关闭,是否有任何副作用需要注意?

0 投票
0 回答
94 浏览

android - 从默认文件选择器 URI 为文件创建多个 ParcelFileDescriptor 会引发 File Not Found 异常

我的目标是Android API 级别 30,并尝试从默认文件选择器的 URI为单个文件创建多个文件描述符,如下所示。

我正在使用下面的代码创建 10 个线程来使用 ParcelFileDescriptors 异步访问文件。

无法获取 r parcelFileDescriptor for content://com.android.externalstorage.documents/document/primary%3ATestFile.mp4.Permission Denial: reading com.android.externalstorage.ExternalStorageProvider uri content://com.android.externalstorage.documents/ document/primary%3ATestFile.mp4 from pid=6190, uid=12283 要求您使用 ACTION_OPEN_DOCUMENT 或相关 API 获取访问权限

这可以创建大约 5 个描述符并为其余的引发File Not Found Exception 。但是,当我使用URI from the media store. 媒体存储 URI 看起来像这样。

我试图重用这 5 个描述符,但是当我尝试使用它们读取文件时,我收到一条错误消息EBML header parsing failed

我还尝试使用然后选择一个文件来访问特定文件夹Intent.ACTION_OPEN_DOCUMENT_TREE,但结果是一样的,它只打开 5 个描述符。

为什么从默认文件选择器打开描述符只创建 5 个描述符,为什么我不能重用它们。