android - 文件 ://uri 上的 Cordova 3.4 resolveLocalFileSystemURI

标签 android cordova

我使用 Genymotion 模拟器在 Android 上使用 Cordova 3.4 运行以下命令:

window.resolveLocalFileSystemURL('file:///storage/emulated/0/DCIM/Camera/1394726081689.jpg', function(entry) {
    console.log(entry.fullPath);
    console.log(entry.toURL());
    entry.file(fileSuccess, fail);
});

我在 logcat 中得到以下内容:

I/chromium( 3022): [INFO:CONSOLE(28)] "file:///storage/emulated/0/DCIM/Camera/1394726081689.jpg", source: file:///android_asset/www/js/pdf.js (28)
I/chromium( 3022): [INFO:CONSOLE(29)] "cdvfile://localhost/temporary/file://storage/emulated/0/DCIM/Camera/1394726081689.jpg", source: file:///android_asset/www/js/pdf.js (29)
W/System.err( 2928): java.io.FileNotFoundException: File: cdvfile://localhost/persistent/file://storage/emulated/0/DCIM/Camera/1394726081689.jpg does not exist.
W/System.err( 2928):    at org.apache.cordova.file.FileUtils.getFileMetadata(FileUtils.java:953)
W/System.err( 2928):    at org.apache.cordova.file.FileUtils.access$400(FileUtils.java:53)
W/System.err( 2928):    at org.apache.cordova.file.FileUtils$14.run(FileUtils.java:220)
W/System.err( 2928):    at org.apache.cordova.file.FileUtils$23.run(FileUtils.java:325)
W/System.err( 2928):    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
W/System.err( 2928):    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
W/System.err( 2928):    at java.lang.Thread.run(Thread.java:841)

相同的代码在 iOS 上运行良好。我试过只将这部分传递给 resolveLocalFileSystemURL:

DCIM/Camera/1394726081689.jpg 

希望 entry.file 会使用这个 url:

cdvfile://localhost/temporary/DCIM/Camera/1394726081689.jpg

但这会返回丢失的协议(protocol)错误。

我确定这是一个错误,但我希望有人能确认这一点。谢谢!

最佳答案

是的,这是一个在 cordova 3.5.0 中修复的错误 https://issues.apache.org/jira/browse/CB-5398 我正在等待它被释放。

关于android - 文件 ://uri 上的 Cordova 3.4 resolveLocalFileSystemURI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22384437/

相关文章:

android - FFMPEG 使用 concat 但进程被杀死没有错误消息

java - 新建 >> 项目 >> Android 应用程序项目不起作用

android - 如何将 CustomAdapter 与 XML 异步任务中的 ListView 一起使用

ios - 带有 PhoneGap 的 iOS 6 中的持久存储(WebSQL 和本地存储)

使用 Cordova 的 Android 小部件

android - 将 native 底部菜单添加到 phonegap 应用程序 for android

android - Volley 请求 JSONArray 如果为空则应被识别

java - 如何在主 UI 线程的不同线程中执行处理程序

javascript - 将 div 背景设置为相机拍摄的照片

iOS 应用程序外部主机