window.requestFileSystem()在phonegap 3.5.0中不起作用

时间:2014-07-31 10:41:37

标签: android cordova

我是phonegap的新手,我正在测试一个教程中的android示例代码,每当我调用window.requestFileSystem(LocalFileSystem.TEMPORARY,0,onFileSystemSuccess,fail)时,我没有得到onFileSystemSuccess的回调函数的任何响应或失败,我运行我的Android模拟器时唯一看到的是html设计, 我使用api 19版使用phonegap 3.5.0版  我真的很感激任何提供的帮助。这是代码..

<!DOCTYPE html>

<html>
    <head>
        <meta charset="utf-8" />
        <meta name="format-detection" content="telephone=no" />

         maximum-scale=1, minimum-scale=1, width=device-width, height=device-height,
          target-densitydpi=device-dpi" />

          <link rel="stylesheet" href="jquery_mobile/jquery.mobile-1.4.3.min.css"/>    


           <script src="jquery_mobile/jquery-2.1.0.js"></script>                                  
           <script src="jquery_mobile/jquery.mobile-1.4.3.min.js"></script>   


             <script type="text/javascript" src="cordova.js"></script> 


     <script type="text/javascript" >
    document.addEventListener("deviceready",onDeviceReady, true);
function onDeviceReady(){
    window.requestFileSystem(LocalFileSystem.TEMPORARY,0,onFileSystemSuccess, fail);
}
function onFileSystemSuccess(fileSystem){
    fileSystem.root.getDirectory("mydir", {create: true, exclusive: false}, null, fail);
    fileSystem.root.getFile("readme.txt",{ create: true, exclusive: false}, null, fail);

    var directoryReader = fileSystem.root.createReader();
    directoryReader.readEntries(success,fail);

}
function success(entries){

    var i;
    var objectType;
    for(i=0; i<entries.length; i++){
        if(entries[i].isDirectory == true){
        objectType = 'directory';}
        else{objectType = 'File';}
    $("#dir_list").append("<li><h3>"+entries[i].name+"</h3><p>"+entries[i].toURL()+"</p><p class='ui-li-aside'>Type:<strong>"+objectType+"</strong></p></li>");
    }
    $("#dir_list").listview("refresh");
}

function fail(error){alert("failed to list directories contents:"+ error.code);}
</script>
    <title>Geolocation data</title>
  </head>
  <body>
  <div data-role="page">
  <div data-role="header">
  <h2>Directory Reader</h2>
  </div>
  <div data-role="content">
  <ul id="dir_list" data-role="listview" data-inset="true"></ul>

  </div>

  </div>
</body>
</html

我还在他们的网站上提供了正确的权限,并提供了正确的权限...这里是我的androidmanifest.xml文件

<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="0.0.1" android:windowSoftInputMode="adjustPan" package="io.cordova.hellocordova" xmlns:android="http://schemas.android.com/apk/res/android">
    <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
    <uses-permission android:name="android.permission.INTERNET" />
    <application android:hardwareAccelerated="true" android:icon="@drawable/icon" android:label="@string/app_name">
        <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/app_name" android:name="HelloCordova" android:theme="@android:style/Theme.Black.NoTitleBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
    <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="19" />
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.RECORD_AUDIO" />
    <uses-permission android:name="android.permission.RECORD_VIDEO" />
    <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.READ_CONTACTS" />
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />
    <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
</manifest>

这里也是我的config.xml文件......

<?xml version='1.0' encoding='utf-8'?>
<widget id="io.cordova.hellocordova" version="0.0.1" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
    <preference name="loglevel" value="DEBUG" />
    <preference name="AndroidLaunchMode" value="singleTop" />
    <feature name="App">
        <param name="android-package" value="org.apache.cordova.App" />
    </feature>
    <feature name="File">
        <param name="android-package" value="org.apache.cordova.file.FileUtils" />
        <param name="onload" value="true" />
    </feature>
    <feature name="Capture">
        <param name="android-package" value="org.apache.cordova.mediacapture.Capture" />
    </feature>
    <feature name="Device">
        <param name="android-package" value="org.apache.cordova.device.Device" />
    </feature>
    <feature name="Notification">
        <param name="android-package" value="org.apache.cordova.dialogs.Notification" />
    </feature>
    <feature name="Media">
        <param name="android-package" value="org.apache.cordova.media.AudioHandler" />
    </feature>
    <feature name="Accelerometer">
        <param name="android-package" value="org.apache.cordova.devicemotion.AccelListener" />
    </feature>
    <feature name="Contacts">
        <param name="android-package" value="org.apache.cordova.contacts.ContactManager" />
    </feature>
    <feature name="Camera">
        <param name="android-package" value="org.apache.cordova.camera.CameraLauncher" />
    </feature>
    <feature name="FileTransfer">
        <param name="android-package" value="org.apache.cordova.filetransfer.FileTransfer" />
    </feature>
    <feature name="NetworkStatus">
        <param name="android-package" value="org.apache.cordova.networkinformation.NetworkManager" />
    </feature>
    <feature name="SplashScreen">
        <param name="android-package" value="org.apache.cordova.splashscreen.SplashScreen" />
    </feature>
    <feature name="InAppBrowser">
        <param name="android-package" value="org.apache.cordova.inappbrowser.InAppBrowser" />
    </feature>
    <name>HelloCordova</name>
    <description>
        A sample Apache Cordova application that responds to the deviceready event.
    </description>
    <author email="dev@cordova.apache.org" href="http://cordova.io">
        Apache Cordova Team
    </author>
    <content src="index.html" />
    <access origin="*" />
</widget>

0 个答案:

没有答案