2013-02-15 30 views
3

我想顯示在我的web瀏覽器中的Android目錄列表,只需點擊一下webview中的按鈕即可。如何在android ..中使用WebView中的Javascript LocalFileSystem訪問SDCARD?

web視圖啓動精細,它是偵聽事件,但我得到一個異常

Uncaught ReferenceError: LocalFileSystem is not defined at file:///android_asset/FirstFile.html:11

下面是完整的代碼

活動:

public class Home extends Activity { 
/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    WebView webview = new WebView(this); 
    webview.getSettings().setJavaScriptEnabled(true); 
    webview.setWebChromeClient(new WebChromeClient()); 

    webview.loadUrl("file:///android_asset/FirstFile.html"); 


    setContentView(webview); 

} 

}

這是FirstF ile.xml

<!DOCTYPE html> 
<html> 
<body> 
    <script type="text/javascript" charset="utf-8"> 
     function getFileSystem() { 
      window.requestFileSystem = window.requestFileSystem 
        || 

      window.requestFileSystem(LocalFileSystem.PERSISTENT, 1024 * 1024, 
        onFileSystemSuccessUpload, fail); 

      window.resolveLocalFileSystemURL("file:///mnt/sdcard", 
        onResolveSuccess, fail); 

      document.getElementById("text1").innerHTML = "Hii its done"; 

     } 

     function onResolveSuccess(fileEntry) { 
      document.write("URI Resolved"); 
     } 

     function fail() { 
      console.log("Error getting system") 
     } 
function successReader(entries) { 
      var i; 
      for (i = 0; i < entries.length; i++) { 
       alert(entries[i].name); 
       if (entries[i].isDirectory == true) { 
        var directoryReaderIn = entries[i].createReader(); 
        directoryReaderIn.readEntries(successReader, fail); 

       } 

      } 
     } 
    </script> 

    <input type="text" id="text1"> 
    <button onclick="getFileSystem()">Click Me !!</button> 
</body> 
</html> 

請給我提供一個合適的解決方案

回答

0

我已經解決了我的問題。我們需要從libs導入cordova.jar並將cordova.js包含到我們的HTML頁面中。

現在我可以很容易地訪問我的SD卡的所有目錄。

+0

可以請您提供關於您的解決方案的更多描述? – Naitik 2016-03-07 11:47:47

相關問題