在某些android设备上,我的应用程序看不到可移动设备(例如通过OTG适配器的micro-sd卡或USB闪存驱动器)。
这是我使用的非常简单的代码段:
cordova.plugins.diagnostic.requestExternalStorageAuthorization(function(){
cordova.plugins.diagnostic.getExternalStorageAuthorizationStatus(console.log, console.error);
cordova.plugins.diagnostic.getExternalSdCardDetails(console.log, console.error);
}, console.error);
在大多数设备上(它可以工作,包括Android 9上的Samsung Note 9和Android 5上的Note 3),它会输出GRANTED以及一个阵列,其中包含可移动设备的列表,包括MicroSD卡和我插入的闪存驱动器带OTG适配器。
但是,在某些设备(主要是Android 9,包括Pixel 3,Pixel 2,Mi MIX 3,HTC U11,Samsung S9 +)上,它会输出GRANTED,但也会输出一个空数组。 该应用程序未检测到任何闪存驱动器。 他们所有人都可以使用同一设备上的文件管理器访问该闪存驱动器上的数据。
我在AndroidManifest.xml中拥有android.permission.READ_EXTERNAL_STORAGE
的权限,并且我已经确认使用
cordova.plugins.diagnostic.getPermissionAuthorizationStatus(console.log, console.error, cordova.plugins.diagnostic.permission.READ_EXTERNAL_STORAGE)
此外,不会输出任何错误。