2013-08-22 3 views
4

Я использую PhoneGap 2.8.0 для Android-приложения.Как получить полный путь к каталогу sdcard в телефоне Android с javascript?

нужно, чтобы получить полный путь к SDCard с помощью JavaScript в PhoneGap, потому что в мой мобильный она показывает расположение как file:///sdcard/external_sdcard/ но в моем другом мобильном его шоу file:///mnt/external_sdcard/ ...

мое имя папки App_files в SDCard

ответ

2

Пожалуйста, попробуйте этот код ..

Существует window.appRootDir.fullPath через вы получаете полный путь, но до того, что вы должны использовать dirReady();

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
<html> 

    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
     <title> 
      Insert title here 
     </title> 
     <script type="text/javascript" src="lib/android/cordova-1.7.0.js"> 
     </script> 
     <script type="text/javascript"> 
      window.appRootDirName = "download_test"; 
      document.addEventListener("deviceready", onDeviceReady, false); 

      function onDeviceReady() { 
       console.log("device is ready"); 
       window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail); 
      } 

      function fail() { 
       console.log("failed to get filesystem"); 
      } 

      function gotFS(fileSystem) { 
       console.log("filesystem got"); 
       window.fileSystem = fileSystem; 
       fileSystem.root.getDirectory(window.appRootDirName, { 
        create: true, 
        exclusive: false 
       }, dirReady, fail); 
      } 

      function dirReady(entry) { 
       window.appRootDir = entry; 
       console.log("application dir is ready"); 
      } 


      downloadFile = function() { 
       var fileTransfer = new FileTransfer(); 

       var url = "http://www.irs.gov/pub/irs-pdf/fw4.pdf"; 
       var filePath = window.appRootDir.fullPath + "/test.pdf"; 
       fileTransfer.download(
       url, filePath, function(entry) { 
        alert("download complete: " + entry.fullPath); 
       }, function(error) { 
        alert("download error" + error.source); 
       }); 
      } 
     </script> 
    </head> 

    <body> 
     <a href="#" onclick="downloadFile()">Download File</a> 
    </body> 

</html> 
+0

Его работы с внутренним карту памяти, но не вернуть внешний путь SDK? Есть идеи? – Dhamu

2

Вы также можете получить свой каталог по этому коду. ссылка на код из телефонной документации.

document.addEventListener("deviceready", onDeviceReady, false); 

    // device APIs are available 
    // 
    function onDeviceReady() { 
     window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail); 
    } 

    function onFileSystemSuccess(fileSystem) { 
     fileSystem.root.getDirectory("App_files", {create: false, exclusive: false}, onGetDirectoryWin, onGetDirectoryFail); 
    } 

    function fail(evt) { 
     console.log(evt.target.error.code); 
    } 

    var onGetDirectoryWin = function(parent) { 

    } 
    var onGetDirectoryFail = function() { 
     console.log("error getting dir") 
    } 
+0

Работает с внутренней картой памяти, но не возвращает внешний путь SDK? – Dhamu

Смежные вопросы