我有一个在 iOS 上运行良好的 Sencha Touch 2.0 应用程序。但在 Android 上,PhoneGap 2.2.0 中的 LocalFileSystem 对象存在一些问题。在我的index.html中,我得到了 PhoneGap 文档中提供的以下代码:
<script type="text/javascript" charset="utf-8" src="cordova-2.2.0.js"></script>
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log('onDeviceReady');
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);
}
function onFileSystemSuccess(fileSystem) {
console.log(fileSystem.name);
}
function fail(evt) {
console.log(evt.target.error.code);
}
</script>
但是“deviceready”事件永远不会被触发。控制台中没有输出。所以我无法让 LocalFileSystem 工作。我试图在主体的 onload 事件中添加一个函数调用,为 deviceready 添加 eventListener。函数被调用,但 deviceready 不会再次被触发。什么是让它工作的正确方法,然后调用 Sencha Touch 的启动功能?我在带有 Android API 14、16 和 17 的模拟器以及带有 Android 4.0.3 的 Galaxy Tab 上进行了尝试。