如何在android的WebView中使用Javascript LocalFileSystem访问SD卡。。?
我只想在webview中点击一个按钮来显示我的Android网络视图中的目录列表 webView启动得很好,它正在侦听事件,但我遇到了一个例外如何在android的WebView中使用Javascript LocalFileSystem访问SD卡。。?,javascript,android,html,webview,sd-card,Javascript,Android,Html,Webview,Sd Card,我只想在webview中点击一个按钮来显示我的Android网络视图中的目录列表 webView启动得很好,它正在侦听事件,但我遇到了一个例外 Uncaught ReferenceError:未在上定义LocalFileSystemfile:///android_asset/FirstFile.html:11 这是完整的代码 活动: public class Home extends Activity { /** Called when the activity is first created
Uncaught ReferenceError:未在上定义LocalFileSystemfile:///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);
}
}
下面是FirstFile.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>
函数getFileSystem(){
window.requestFileSystem=window.requestFileSystem
||
requestFileSystem(LocalFileSystem.PERSISTENT,1024*1024,
onFileSystemsSuccessUpload,失败);
window.resolveLocalFileSystemURL(“file:///mnt/sdcard",
成功,失败);
document.getElementById(“text1”).innerHTML=“Hii its done”;
}
函数onResolveSuccess(fileEntry){
文件。写入(“URI解析”);
}
函数失败(){
日志(“获取系统时出错”)
}
函数成功读取器(条目){
var i;
对于(i=0;i
请给我一个合适的解决方案我已经解决了我的问题。我们需要从libs导入cordova.jar,并将cordova.js包含到我们的HTML页面中
现在,我可以轻松访问SD卡的所有目录。您能详细介绍一下您的解决方案吗?