Reputation: 13269
I am using official file API Plugin on my cordova application, where it work fine on my android devices except who has Android 6.0.1.
It's unable to create directory, and throw error number 2 which is SECURITY_ERR
JS code:
window.requestFileSystem = window.requestFileSystem || window.webkitRequestFileSystem;
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function (response) {
response.root.getDirectory("folderNamexxx", {create: true, exclusive: false}, function () {
alert("success");
}, function (e) {
alert(JSON.stringify(e));//error fired here
});
}, function (e) {
alert("error");
});
Androidmanifest.xml:
<uses-permission android:name="com.android.vending.BILLING" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
<permission android:name="${applicationId}.permission.C2D_MESSAGE" android:protectionLevel="signature" />
<uses-permission android:name="${applicationId}.permission.C2D_MESSAGE" />
<uses-permission android:name="android.permission.GET_ACCOUNTS" />
<uses-permission android:name="android.permission.USE_CREDENTIALS" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
config.xml:
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
Upvotes: 2
Views: 517
Reputation: 11935
Ensure to use latest cordova file plugin (4.2.0). Also ensure to have proper permission settings in device, you will be good to go. Check out this link for more info.
Upvotes: 1
Reputation: 1411
You have to set run time permission before creating any folder ,(Read and write external storage) Please Follow This link have example hot to set run time permission Link
If you don't want to set Runtime permission and OK with api level 22 than change yore target sdk to 22
Upvotes: 1