尝试使用HTML,Javascript和Phonegap打开Android SD卡

我正在尝试打开SD卡并使用Phonegap在Android上传文件。 下面是我将SD卡内容附加到我的HTML的代码,但没有显示任何内容。 我正在使用cordova.jsjquery1.7.1.js 。 以下是我的代码:

我的Javascript:

 function onDeviceReady() { getFileSystem(); } function getFileSystem() { window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) { // success get file system root = fileSystem.root; listDir(root); }, function(evt) { // error get file system console.log("File System Error: "+evt.target.error.code); } ); } function listDir(directoryEntry) { if (!directoryEntry.isDirectory) console.log('listDir incorrect type'); $.mobile.showPageLoadingMsg(); // show loading message currentDir = directoryEntry; // set current directory directoryEntry.getParent( function(par) { // success get parent parentDir = par; // set parent directory if ((parentDir.name == 'sdcard' && currentDir.name != 'sdcard') || parentDir.name != 'sdcard') $('#backBtn').show(); }, function(error) { // error get parent console.log('Get parent error: ' + error.code); } ); var directoryReader = directoryEntry.createReader(); directoryReader.readEntries( function(entries) { var dirContent = $('#dirContent'); dirContent.empty(); var dirArr = new Array(); var fileArr = new Array(); for (var i=0; i < entries.length; ++i) { // sort entries var entry = entries[i]; if (entry.isDirectory && entry.name[0] != '.') dirArr.push(entry); else if (entry.isFile && entry.name[0] != '.') fileArr.push(entry); } var sortedArr = dirArr.concat(fileArr); // sorted entries var uiBlock = ['a','b','c','d']; for (var i=0; i < sortedArr.length; ++i) { // show directories var entry = sortedArr[i]; var blockLetter = uiBlock[i%4]; //console.log(entry.name); if (entry.isDirectory) dirContent.append('

' + entry.name + '

'); else if (entry.isFile) dirContent.append('

' + entry.name + '

'); } $.mobile.hidePageLoadingMsg(); // hide loading message }, function(error) { console.log('listDir readEntries error: ' + error.code); } ); }

您是否看过Cordova API文档? 我尝试了这个示例代码,它运行得很好。 链接到API和示例代码

Interesting Posts