gpt4 book ai didi

javascript - 如何在 android.. 的 WebView 中使用 Javascript LocalFileSystem 访问 SDCARD?

转载 作者:太空狗 更新时间:2023-10-29 15:13:22 25 4
gpt4 key购买 nike

我想在我的 Android WebView 中显示目录列表,仅使用在 WebView 中单击按钮。

webView 启动正常,正在监听事件,但出现异常

未捕获的 ReferenceError:LocalFileSystem 未定义在 file:///android_asset/FirstFile.html:11

完整代码如下

Activity :

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>

请给我一个合适的解决方案

最佳答案

我的问题已经解决了。我们需要从库中导入 cordova.jar 并将 cordova.js 包含到我们的 HTML 页面中。

现在我可以轻松访问我的 SD 卡中的所有目录。

关于javascript - 如何在 android.. 的 WebView 中使用 Javascript LocalFileSystem 访问 SDCARD?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14892693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com