0

私は(非常に単純に)webworksを使用してカメラディレクトリのファイルリストを取得しようとしています。私が試しているコードは次のとおりです。

function displayPhotos(id) {
try {
    var Dir, path, items;

    if ((window.blackberry === undefined) || (blackberry.io === undefined) || (blackberry.io.file === undefined)) {
        appendContent("photoDetails", "<p><i><b>blackberry.io.file</b> object not found (likely cause is WebWorks APIs are not supported by this user agent).</i></p>");
        debug.log("displayPhotos", "blackberry.io.file object is undefined.", debug.error);
        return false;
    }

    Dir = blackberry.io.dir;

    path = "";      
    path = "file:///Device/home/user/camera"";


    items = Dir.listFiles(path);

    console.log(items);

    //setContent(id, formatAsHTML(path, items));

}
catch(e) {
    console.log("displayPhotos", e, debug.exception);
}
}

私が返すのはエラー1004だけです-これは権限ベースだと思いますが、カメラでREADを取得できないとは信じられません-誰かが何か知っていますか?

乾杯!

4

1 に答える 1

2

よく私はそれを理解しました、これが恐ろしいブラックベリーウェブワークスエラー1004を取得するのに役立つことを願っています。

保存するパスのデバイスを変更する必要があります。本当にそれだけです。この例は機能します:

function displayPhotos(myFolder) {
    try {
        var Dir, path, items;       
        Dir = blackberry.io.dir;

    path = "";      
    if (myFolder != undefined){
        path = myFolder;
    } else {
        path = "file:///store/home/user/pictures";
        //file:///store/home/user/camera
    }

    items = Dir.listFiles(path);        
    return items;
}
catch(e) {
    console.log("displayPhotos", e, debug.exception);
}
}


function displayFiles(myFolder) {
try {
    console.log("displayFiles", "in " + myFolder);
    return displayPhotos(myFolder);
}
catch(e) {
    console.log("displayFiles", e, debug.exception);
}
}

あなたはそれをそのように呼ぶことができます:

 displayFiles();

または、次のようにフォルダを指定します。

 displayFiles("file:///store/home/user/camera");

ファイル名の配列を返します。

これが誰かに役立つことを願っています!

于 2012-05-30T10:55:23.553 に答える