Request write permission on Android <11
This commit is contained in:
parent
3475b3c69f
commit
8dc99ca2c1
5 changed files with 56 additions and 12 deletions
|
@ -1,5 +1,5 @@
|
|||
<?xml version='1.0' encoding='utf-8'?>
|
||||
<widget id="su.viende.omori" version="1.0.8-dev" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
|
||||
<widget id="su.viende.omori" version="1.0.8-dev" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<preference name="orientation" value="sensorLandscape" />
|
||||
<preference name="Fullscreen" value="true" />
|
||||
|
||||
|
@ -25,7 +25,12 @@
|
|||
<platform name="android">
|
||||
<config-file target="AndroidManifest.xml" parent="/*" xmlns:android="http://schemas.android.com/apk/res/android">
|
||||
<uses-permission android:name="android.permission.WAKE_LOCK" />
|
||||
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" android:maxSdkVersion="29" />
|
||||
<uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
|
||||
</config-file>
|
||||
<edit-config file="AndroidManifest.xml" mode="merge" target="/manifest/application">
|
||||
<application android:requestLegacyExternalStorage="true" />
|
||||
</edit-config>
|
||||
</platform>
|
||||
|
||||
<name>OMORI</name>
|
||||
|
|
13
package-lock.json
generated
13
package-lock.json
generated
|
@ -10,6 +10,7 @@
|
|||
"license": "Apache-2.0",
|
||||
"devDependencies": {
|
||||
"cordova-android": "^12.0.1",
|
||||
"cordova-plugin-android-permissions": "^1.1.5",
|
||||
"cordova-plugin-file": "^8.0.1",
|
||||
"cordova-plugin-fullscreen": "^1.3.0",
|
||||
"cordova-plugin-gamepad": "github:OleSTEEP/cordova-plugin-gamepad",
|
||||
|
@ -242,6 +243,18 @@
|
|||
"node": ">=16.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/cordova-plugin-android-permissions": {
|
||||
"version": "1.1.5",
|
||||
"resolved": "https://registry.npmjs.org/cordova-plugin-android-permissions/-/cordova-plugin-android-permissions-1.1.5.tgz",
|
||||
"integrity": "sha512-oTTV9cCMBqXTCmU+nYRebsP2IQfrtdvl2vYXHjoJgv5NHCIDgY4KFg6kJTcwXQOiymeGXuw0+MTvJJOueAdleA==",
|
||||
"dev": true,
|
||||
"engines": [
|
||||
{
|
||||
"name": "cordova",
|
||||
"version": ">=5.0.0"
|
||||
}
|
||||
]
|
||||
},
|
||||
"node_modules/cordova-plugin-file": {
|
||||
"version": "8.0.1",
|
||||
"resolved": "https://registry.npmjs.org/cordova-plugin-file/-/cordova-plugin-file-8.0.1.tgz",
|
||||
|
|
|
@ -14,6 +14,7 @@
|
|||
"license": "Apache-2.0",
|
||||
"devDependencies": {
|
||||
"cordova-android": "^12.0.1",
|
||||
"cordova-plugin-android-permissions": "^1.1.5",
|
||||
"cordova-plugin-file": "^8.0.1",
|
||||
"cordova-plugin-fullscreen": "^1.3.0",
|
||||
"cordova-plugin-gamepad": "github:OleSTEEP/cordova-plugin-gamepad",
|
||||
|
@ -29,7 +30,8 @@
|
|||
"cordova-plugin-gamepad": {},
|
||||
"cordova-plugin-file": {
|
||||
"ANDROIDX_WEBKIT_VERSION": "1.4.0"
|
||||
}
|
||||
},
|
||||
"cordova-plugin-android-permissions": {}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -350,13 +350,13 @@ document.addEventListener("deviceready", () => {
|
|||
fileEntry.createWriter(function (fileWriter) {
|
||||
|
||||
fileWriter.onerror = function (e) {
|
||||
console.log("Failed file write: " + e.toString());
|
||||
console.log(`Failed file write: Error ${e.code}`);
|
||||
};
|
||||
|
||||
fileWriter.write(data);
|
||||
});
|
||||
}, (e) => {
|
||||
console.log("Error to create external save file: " + e.toString());
|
||||
console.log(`Error to create external save file: Error ${e.code}`);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -372,13 +372,13 @@ document.addEventListener("deviceready", () => {
|
|||
fileEntry.createWriter(function (fileWriter) {
|
||||
|
||||
fileWriter.onerror = function (e) {
|
||||
console.log("Failed file write: " + e.toString());
|
||||
console.log(`Failed file write: Error ${e.code}`);
|
||||
};
|
||||
|
||||
fileWriter.write(data);
|
||||
});
|
||||
}, (e) => {
|
||||
console.log("Error to create external file: " + e.toString());
|
||||
console.log(`Error to create external file: Error ${e.code}`);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@ -395,3 +395,15 @@ SceneManager.terminate = function () {
|
|||
window.close = function() {
|
||||
navigator.app.exitApp();
|
||||
}
|
||||
|
||||
// ==========================================
|
||||
// Request storage permissions on startup
|
||||
// ==========================================
|
||||
document.addEventListener("deviceready", () => {
|
||||
var permissions = cordova.plugins.permissions;
|
||||
permissions.checkPermission(permissions.WRITE_EXTERNAL_STORAGE, (status) => {
|
||||
if (status.hasPermission === false) {
|
||||
permissions.requestPermission(permissions.WRITE_EXTERNAL_STORAGE);
|
||||
}
|
||||
});
|
||||
})
|
|
@ -353,13 +353,13 @@ document.addEventListener("deviceready", () => {
|
|||
fileEntry.createWriter(function (fileWriter) {
|
||||
|
||||
fileWriter.onerror = function (e) {
|
||||
console.log("Failed file write: " + e.toString());
|
||||
console.log(`Failed file write: Error ${e.code}`);
|
||||
};
|
||||
|
||||
fileWriter.write(data);
|
||||
});
|
||||
}, (e) => {
|
||||
console.log("Error to create external save file: " + e.toString());
|
||||
console.log(`Error to create external save file: Error ${e.code}`);
|
||||
});
|
||||
});
|
||||
});
|
||||
|
@ -375,13 +375,13 @@ document.addEventListener("deviceready", () => {
|
|||
fileEntry.createWriter(function (fileWriter) {
|
||||
|
||||
fileWriter.onerror = function (e) {
|
||||
console.log("Failed file write: " + e.toString());
|
||||
console.log(`Failed file write: Error ${e.code}`);
|
||||
};
|
||||
|
||||
fileWriter.write(data);
|
||||
});
|
||||
}, (e) => {
|
||||
console.log("Error to create external file: " + e.toString());
|
||||
console.log(`Error to create external file: Error ${e.code}`);
|
||||
});
|
||||
});
|
||||
}
|
||||
|
@ -398,3 +398,15 @@ SceneManager.terminate = function () {
|
|||
window.close = function() {
|
||||
navigator.app.exitApp();
|
||||
}
|
||||
|
||||
// ==========================================
|
||||
// Request storage permissions on startup
|
||||
// ==========================================
|
||||
document.addEventListener("deviceready", () => {
|
||||
var permissions = cordova.plugins.permissions;
|
||||
permissions.checkPermission(permissions.WRITE_EXTERNAL_STORAGE, (status) => {
|
||||
if (status.hasPermission === false) {
|
||||
permissions.requestPermission(permissions.WRITE_EXTERNAL_STORAGE);
|
||||
}
|
||||
});
|
||||
})
|
Loading…
Add table
Add a link
Reference in a new issue