- iOS
- Android
$ cordova plugin add cordova-plugin-storage-encryption-status
const storageEncryptionStatus = cordova.plugins.storageEncryptionStatus;
storageEncryptionStatus.isEncrypted().then((isEncrypted) => {
console.log(`isEncrypted: ${isEncrypted}`);
// => isEncrypted: true
});
storageEncryptionStatus.getEncryptionStatus().then((encryptionStatus) => {
console.log(`encryptionStatus: ${encryptionStatus}`);
// => encryptionStatus: ENCRYPTION_STATUS_ACTIVE_PER_USER
});
You can find a working example in the example/
directory of this project. To build it,
run npm test
. A working project will be generated in /tmp/cordova-plugin-storage-encryption-status
.
From there, you can start the example app via cordova run android
or cordova run ios
.
Whether device's storage is encrypted. Returns a Promise
that fulfills with the device's encryption status as a boolean
.
Determines the device's detailed encryption status. Returns a Promise
that fulfills with the device's encryption status as one the encryption status enum values (see storageEncryptionStatus.statusValues
).
An a lookup hashmap (as a plain JS object
) for all the possible values that can be returned by StorageEncryptionStatus.getEncryptionStatus()
.
See DevicePolicyManager docs for more information on the meaning of enum values on Android.
On iOS, only the values 'ENCRYPTION_STATUS_UNSUPPORTED'
, 'ENCRYPTION_STATUS_INACTIVE'
, and 'ENCRYPTION_STATUS_ACTIVE_PER_USER'
are used.
Indicates that encryption is not supported.
Indicates that encryption is supported, but is not currently active.
Indicates that encryption is not currently active, but is currently being activated.
Indicates that encryption is active.
Indicates that encryption is active, but an encryption key has not been set by the user.
Indicates that encryption is active and the encryption key is tied to the user or profile.
- Nexus 5 (Android 6, 7, 8)
- Moto G7 Plus (Android 10)
- Huawei P20 lite (Android 8)
- Sony Xperia Z1 (Android 5.1)
- iPhone X (iOS 13.3.1, iOS 13.6.1)
- iPhone 6 (iOS 12.4.2)