Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/184.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 移动/复制捕获图像时出现问题phonegap android_Java_Android_Cordova_Cordova 3 - Fatal编程技术网

Java 移动/复制捕获图像时出现问题phonegap android

Java 移动/复制捕获图像时出现问题phonegap android,java,android,cordova,cordova-3,Java,Android,Cordova,Cordova 3,Phonegap版本:3.3 安卓版本:4.0.4 我正在共享我得到的供参考的文件URI 文件\u URI=content://media/external/images/media/11679 文件\u URI=file:///mnt/sdcard/Android/data/com.allplugins/cache/1393913804418.jpg 我在将捕获的图像移动到SD卡时出错。我还尝试了window.resolveLocalFileSystemURL和window.resolveLo

Phonegap版本:3.3

安卓版本:4.0.4

我正在共享我得到的供参考的文件URI

文件\u URI=content://media/external/images/media/11679

文件\u URI=file:///mnt/sdcard/Android/data/com.allplugins/cache/1393913804418.jpg

我在将捕获的图像移动到SD卡时出错。我还尝试了
window.resolveLocalFileSystemURL
window.resolveLocalFileSystemURI
两种方法,但都不适用于我

当我尝试将相机拍摄的图像移动到sd卡时,我得到了错误代码“1”

错误日志

我的代码


确保您在清单文件中添加了读取和写入外部存储的适当权限。如果没有,请将以下代码添加到清单文件中

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> 

问题在于phonegap 3.3。
我已经用phonegap 3.4测试了我的代码,效果很好。

您是否添加了用于文件操作的插件?是的,我添加了插件您可以检查FileUtils.java文件吗?根据您的日志,它在第583行抛出错误,您的demo.js:line no 384.phonegap 3.4.0今天发布。将尝试使用相同的代码。我不认为问题出在我的js代码上。有一些本土问题。因为我在IOS中也面临同样的问题。你可以试试最新的。我认为这个问题不是源于本机,而是因为cordovajar的配置。我们已经使用了这个功能,它工作得很好。
function PhotoKeeper() {

    var name_of_image = "";
    var pictureSource,destinationType;
    var selectedSourceType;
    var fileSysRoot,projectImageDirectory,projectImageDirectoryName = "temp";

    init();
    function init(){
        destinationType = window.Camera.DestinationType;
        pictureSource = window.Camera.PictureSourceType;

        window.requestFileSystem(
            LocalFileSystem.PERSISTENT,
            0,
            // got file system sucess callback
            function (arg_o_filesys){

                fileSysRoot = arg_o_filesys.root;

                arg_o_filesys.root.getDirectory(
                    projectImageDirectoryName,
                    {
                        create: true,
                        exclusive: false
                    },
                    // got directory entry sucess callback
                    function(arg_o_directoryEntry) {
                        console.log("Info : got directory entry !");
                        projectImageDirectory = arg_o_directoryEntry;
                    },
                    errorPhoto
                );

            },
            errorPhoto
        );
    }

    function getPhotoFromLibreary(){

        selectedSourceType = pictureSource.PHOTOLIBRARY;

        window.navigator.camera.getPicture(
            gotPhoto,
            errorPhoto,
            { 
                "quality": 50,
                "destinationType": destinationType.FILE_URI,
                "sourceType": selectedSourceType
            }
        );
    }

    function getPhotoFromCamera(){

        selectedSourceType = pictureSource.CAMERA;

        window.navigator.camera.getPicture(
            gotPhoto,
            errorPhoto,
            { 
                "quality": 50,
                "destinationType": destinationType.FILE_URI,
                "sourceType": selectedSourceType
            }
        );

    }

    function gotPhoto(fileuri){
        window.resolveLocalFileSystemURL(fileuri, gotFileEntry, errorPhoto);
    }

    // got fileEntry sucess callback
    function gotFileEntry(arg_o_fileEntry){
        console.log("Info : got file entry !"+arg_o_fileEntry);
        arg_o_fileEntry.copyTo( projectImageDirectory, name_of_image , function(){ console.log("Info : file moved !") } , function(e){ console.log("Error : file move !"+e); } );
    }

    function errorPhoto(msg){
        console.log("Error : "+JSON.stringify(msg));
    }

    function updateName (argname_of_image) {

        if((utils.isUndefined(argname_of_image) === false) && (typeof argname_of_image == "string")){
            name_of_image = argname_of_image;
        }else{
            name_of_image = Date.now().toString();
        }

    }

    return{
        getPhotoFromLibreary : function (name_of_image) {
            updateName(name_of_image);
            getPhotoFromLibreary();
        },
        getPhotoFromCamera : function (name_of_image) {
            updateName(name_of_image);
            getPhotoFromCamera();
        }
    }
}
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />