How to get full path to sdcard directory in android phone with javascript?

I am using PhoneGap 2.8.0 for an android application.

You need to get the full path to sdcard using javascript in phone records, because on my mobile phone it shows up as file:///sdcard/external_sdcard/ , but on my mobile phone it shows its readings file:///mnt/external_sdcard/ ...

name of my App_files folder in sdcard

+4
source share
3 answers

Finally, I found that we cannot get the external path of the SD card,

 Environment.getExternalStorageState(); 

Returns only the internal path to the SD card

Link: http://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory ()

+1
source

Please try this code ..

There is window.appRootDir.fullPath through the full path, but before that you should use 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> 
+2
source

You can also get your catalog by this code. link to the code from the telephone documentation.

  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") } 
+2
source

Source: https://habr.com/ru/post/1498324/


All Articles