- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我在 phonegap 应用程序中出于存储目的访问 Android 文件系统时遇到问题。我搜索并找到了很多不适合我的情况的解决方案!
我知道 deviceready 被发射和检查的必要性,它被发射了。所以 phonegap.js 已完美加载!
我想我请求了文件权限并且在我的 list 和配置文件中有功能。他们在这里:
配置文件:
<feature name="http://api.phonegap.com/1.0/device" />
<feature name="http://api.phonegap.com/1.0/battery"/>
<feature name="http://api.phonegap.com/1.0/camera"/>
<feature name="http://api.phonegap.com/1.0/contacts"/>
<feature name="http://api.phonegap.com/1.0/file"/>
<feature name="http://api.phonegap.com/1.0/geolocation"/>
<feature name="http://api.phonegap.com/1.0/media"/>
<feature name="http://api.phonegap.com/1.0/network"/>
<feature name="http://api.phonegap.com/1.0/notification"/>
<preference name="permissions" value="none" />
<preference name="orientation" value="default" />
<preference name="target-device" value="universal" />
<preference name="fullscreen" value="true" />
<preference name="webviewbounce" value="true" />
<preference name="prerendered-icon" value="true" />
<preference name="stay-in-webview" value="false" />
<preference name="ios-statusbarstyle" value="black-opaque" />
<preference name="detect-data-types" value="true" />
<preference name="exit-on-suspend" value="false" />
<preference name="show-splash-screen-spinner" value="true" />
<preference name="auto-hide-splash-screen" value="true" />
<preference name="disable-cursor" value="false" />
<preference name="android-minSdkVersion" value="7" />
<preference name="android-installLocation" value="auto" />
<icon src="icon.png" />
<icon gap:density="ldpi" gap:platform="android" src="res/icon/android/icon-36-ldpi.png" />
<icon gap:density="mdpi" gap:platform="android" src="res/icon/android/icon-48-mdpi.png" />
<icon gap:density="hdpi" gap:platform="android" src="res/icon/android/icon-72-hdpi.png" />
<icon gap:density="xhdpi" gap:platform="android" src="res/icon/android/icon-96-xhdpi.png" />
<access origin="*" />
<content src="index.html" />
</widget>
AndroidManifest.xml:
<?xml version='1.0' encoding='utf-8'?>
<manifest android:hardwareAccelerated="true" android:versionCode="1" android:versionName="1.0.0" android:windowSoftInputMode="adjustPan" package="com.pakhshyaran.kara" 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" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.VIBRATE" />
<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_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_SMS" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.BROADCAST_STICKY" />
<uses-permission android:name="android.permission." />
<application android:debuggable="true" 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="Kara" 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="18" />
</manifest>
这是我的代码的错误抛出部分:
$(document).ready(function () {
document.addEventListener("deviceready", onDeviceReady, false);
});
function onDeviceReady() {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (fileSystem) { //throws the 'Uncaught ReferenceError: LocalFileSystem is not defined' error
fileSystem = fileSystem;
}, function (evt) {
alert(evt.target.error.code);
});
}
但由于我不知道的原因,我得到了错误!请给我你的想法。非常感谢。
PS:我用的是phonegap 3.0!
最佳答案
您是否使用 phonegap cli 来构建您的项目?那么您可能错过了将文件插件添加到您的项目中。除了在 config.xml
和 AndroidManifiest.xml
中配置外,您还需要插件的代码。您可以将其添加到您的项目中:
$ phonegap plugin add https://git-wip-us.apache.org/repos/asf/cordova-plugin-file.git
查看文档中的页面顶部:http://docs.phonegap.com/en/3.0.0/cordova_file_file.md.html#LocalFileSystem
您还可以检查文件 android/assets/www/cordova_plugins.js
以查看是否实际定义了 window.LocalFileSystem
。寻找这样的东西:
{
"file": "plugins/org.apache.cordova.core.file/www/FileSystem.js",
"id": "org.apache.cordova.core.file.FileSystem",
"clobbers": [
"window.FileSystem"
]
},
关于android - 未定义 Phonegap Android LocalFileSystem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18683253/
我尝试编写一些代码来检索图像文件(来自 Wikimedia Commons),将其存储在本地然后显示它。这是我的代码: window.requestFileSystem = window.r
在 PhoneGap 中,我使用 window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);
我试图理解我所遇到的问题。我正在通过 Cordova 为 Android 开发一个应用程序。我寻找解决方案,但实际上还没有找到。 首先,我遇到了一个未定义的“requestFileSystem”问题,
我在 phonegap 2.6.0 中使用了此代码并且它有效,现在我升级到 phonegap 3.0.0 和 xcode 5 并且出现此错误: onDeviceReady: => try
我在 phonegap 应用程序中出于存储目的访问 Android 文件系统时遇到问题。我搜索并找到了很多不适合我的情况的解决方案! 我知道 deviceready 被发射和检查的必要性,它被发射了。
我编写了以下代码,使用 HADOOP 的 LocalFileSytem 将几个字节写入本地文件。我使用了 flush() ,据我所知,它会刷新 JVM 缓冲区,而 hsynch() 会刷新操作系统缓冲
在我们的应用程序中,用户可以下载 PDF 并通过 iOS 上的 InAppBrowser 或 Android 上的本地 PDF 阅读器打开它。为了存储文件,我们使用 Phonegap 的 LocalF
我调查了很多问题,但这些都没有解决我的问题。 我已经安装了文件插件。 当我键入 `cordova plugin ls 时,我得到以下结果: [ 'org.apache.cordova.file' ]
我正在使用 appgyver steroids (phonegap) 并尝试将照片从相机 API 保存到应用程序文件空间,以便在我重新扫描/重新加载应用程序时它不会被删除。我正在按照 cordova
我想在我的 Android WebView 中显示目录列表,仅使用在 WebView 中单击按钮。 webView 启动正常,正在监听事件,但出现异常 未捕获的 ReferenceError:Loca
设置hadoop configuration后,即使jar文件中存在java.lang.RuntimeException: java.lang.ClassNotFoundException: org.
我是一名优秀的程序员,十分优秀!