问题标签 [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 投票
1 回答
349 浏览

android - 如何从内部文件路径data/data/com.xyz/file.pdf在andorid 5.0的PdfRenderer中打开pdf

我想使用 PdfRendererBitmap在 android 5.0 及更高版本中获取 pdf 第一页。

但我无法ParcelFileDescriptor在 android 中获取内部文件。

任何知道如何转换FileInputStreamParcelFileDescriptor

0 投票
0 回答
417 浏览

android - 如何从 Google Drive Android 应用程序的私人文件夹中获得对文件的部分写入权限?

我的设备上安装了一个 API 级别为 21 的Google Drive Android 应用程序。我想让我的应用程序从我设备上的 Google Drive 私人文件夹中读取一些文件,进行一些更改并让 Google Drive Android 应用程序同步它。单击某个文件会启动文件下载过程,然后会出现应用程序选择器正如这里所指出的, Google Drive Android 应用程序不再将dataUri作为file://...发送到其他应用程序。它发送一个content://...代替。不过,我可以得到

有了pfd,我可以通过以下方式在缓冲区中的某个位置出一些字节:

当我尝试将缓冲区中的一些字节写入Google Drive 私有文件夹中文件的某个位置时,就会出现问题:

这给了我IOException - lseek failed: ESPIPE (Illegal seek)。同样的例外是“rwt”模式。访问模式“rw”给出了其他例外:

清单中存在所有必要的权限:

从另一面来看,可以从我的应用程序中重写私有 Google Drive Android 应用程序中的整个文件 - 如果我没有在写入时进行任何定位 - 只需将 FileInputStream 复制到 FileOutputStream:

问题是:为什么 Google 让我们有机会重写私有 Google Drive 文件夹中的整个文件,而不给我们机会只更改该文件中的几个字节?

PS 为简洁起见,省略了所有必要的 try-catch 块

0 投票
1 回答
1459 浏览

java - 与 MediaRecorder Android 6.0 (API 23) 一起使用的“Seekable”文件描述符

所以我正在尝试将我的 Android 用作网络摄像头。我的代码非常适合 API <= 22。我正在使用ParcelFileDescriptor'screatePipe()方法来创建用于读取和写入的管道。

简而言之,我写给管道的内容如下所示:

当我运行它时,我得到以下异常,

我知道,在 API 23 中,他们做了一个改变,阻止MediaRecorder了使用不可搜索的文件描述符。

ParcelFileDescriptor与 with 一起使用时createPipe()似乎不可搜索。

我的问题是,我怎样才能使它可搜索?有什么替代方案吗?谢谢。

0 投票
0 回答
1655 浏览

android - 通过套接字流式传输视频

我需要通过套接字实现视频流,因为我必须在服务器端录制视频并在客户端实时流式传输,我已经通过套接字成功连接了对等点,但视频流出现问题,我面临以下问题:

  1. 我已经在 API 级别 15 和 18 上测试了Media Recorder,但无法在更高的 Android 版本上运行,它给出了 IllegalStateException start failed -38。

  2. 媒体播放器不工作,我尝试 ParcelFileDescriptor 从套接字获取流,还尝试将流保存到文件中以在媒体播放器上播放,但我没有得到任何结果。

我还使用以下代码片段将输入流保存到文件中以在媒体播放器上播放,但它对我不起作用。

我已经尝试使用此代码片段在 Lollipop 或更高版本的 API 上录制视频流,但它也不起作用。

0 投票
1 回答
1909 浏览

android - Android VpnService.Builder.establish() 偶尔为空

当我尝试为我的 VpnService 创建隧道接口时,我收到以下错误:

我目前唯一的解决办法是在发生这种情况时重新启动设备。如果我不这样做,我根本无法创建隧道。

我创建隧道的代码:

编辑:

根据文档,如果 VpnService 尚未准备好,该establish函数将返回,但是我在运行上述函数之前使用它来准备它。null

我用于调试的电话

Google Nexus 5 Running Android 5.0.1

编辑

我想出了如何复制它,这样它就不再是零星的了。基本上,如果我在连接 VPN 时卸载应用程序,然后重新安装它并尝试重新启动它,我会在运行时收到空响应builder.establish()。我担心当应用程序通过 Google Play 商店更新时,这可能会带来潜在的问题。

除此之外,请不要将此问题标记为重复。关于这个问题的所有其他问题都得到了答案,即在建立构建器之前需要准备服务,但是我正在准备它,并且我的问题有不同的原因。任何帮助,将不胜感激。

0 投票
0 回答
756 浏览

java - 使用 mediaRecoredr.setFileOutput() 的包裹文件描述符空指针异常

我正在尝试将视频从我的 android 应用程序录制到我的台式机(笔记本电脑)。我使用 Socket 编程来做到这一点,在我的 android 代码中 Parcel File Descriptor 抛出空指针异常并且应用程序崩溃了。任何人帮助我。

这是异常详细信息。

由于上述异常,MediaRecorder 进入无效状态。

0 投票
1 回答
1291 浏览

android - 传递pdf文件的输入流时管道损坏

我正在创建一个应用程序,它使用 FTP/CLoudRail 通过 Internet 访问文件。在打开文件时,我使用这种方法首先获取输入流,然后将其解析为 ParcelFileDescriptor。问题是,当打开 PDF 文件时,我得到了 brokenPipe 错误。请注意,其他文件类型(如图像/文本文件)不会发生这种情况

这是我使用的代码:

这是 ParcelFileDescriptorUtil:

奇怪的是,通常情况下,当您没有 root 权限时会发生这种情况。但是,对于显示 pdf,您当然不需要它。

顺便说一句,这是错误:

0 投票
0 回答
143 浏览

android - 使用 DatagramSocket 中的 FileDescriptor 时 MediaRecorder 准备失败,代码为 -38

我正在尝试使用 MediaRecorder 通过 UDP 流式传输视频,但是这段代码给我留下了这个错误:

我正在使用 RXJava2 来确保DatagramSocket在另一个线程上创建,我的代码如下:

如果我改为保存到文件,则代码可以工作,因此它必须与FileDescriptorDatagramSocket.

有什么建议么?

0 投票
0 回答
125 浏览

java - 有效负载管理器错误附近的连接

我使用 ParcelFileDescriptor 将数据帧发送到连接的设备,但是当我检查错误日志时,我看到了这个错误。

这是我的代码片段:

我不知道是什么引起的错误以及这背后的其他原因。我在谷歌搜索中找不到任何相关的错误。我希望来自 Google Devs 的人可以帮助我。谢谢

0 投票
1 回答
3212 浏览

android - PdfRenderer 错误:java.io.IOException:无法创建文档。错误:3

我正在尝试将 PDF 转换为图像位图。为此,我正在使用下面的代码。

当我将ParcelFileDescriptor发送到 pdfRenderer 时,它会抛出异常

我从 GitHub 问题中找到了一些链接。 https://github.com/googlesamples/android-PdfRendererBasic/issues/15 但它不会帮助我。

接受任何帮助。谢谢你。