На некоторых устройствах Android мое приложение не может видеть съемные устройства (например, карты micro-sd или флэш-накопители USB через адаптер OTG).
Вот очень простой фрагмент кода, который я использую:
cordova.plugins.diagnostic.requestExternalStorageAuthorization(function(){
cordova.plugins.diagnostic.getExternalStorageAuthorizationStatus(console.log, console.error);
cordova.plugins.diagnostic.getExternalSdCardDetails(console.log, console.error);
}, console.error);
На большинстве устройств (где это работает, включая Samsung Note 9 на Android 9 и Note 3 на Android 5)выводит GRANTED и массив со списком сменных устройств, включая карту MicroSD и мою флешку, которую я подключаю с помощью адаптера OTG.
Однако на некоторых устройствах (в основном на Android 9, включая Pixel 3, Pixel 2, Mi MIX 3, HTC U11, Samsung S9 +) выводится значение GRANTED, но также пустой массив.Приложение не обнаруживает ни одной флешки.Таким образом, все они могут получить доступ к данным на этом флэш-накопителе с помощью файлового менеджера с того же устройства.
У меня есть разрешение android.permission.READ_EXTERNAL_STORAGE
в моем AndroidManifest.xml, и я подтвердил, что оно также предоставляется с использованием cordova.plugins.diagnostic.getPermissionAuthorizationStatus(console.log, console.error, cordova.plugins.diagnostic.permission.READ_EXTERNAL_STORAGE)
Кроме того, ошибки не выводятся.