问题:
使用ionic的file插件读取Android根目录的文件时一直在等待,没有读取结果,查看Android代码报错open failed: EACCES (Permission denied)
解决办法:
在manifest的applicaiton标签添加 android:requestLegacyExternalStorage=“true” 同时ionic中引入AndroidPermissions插件动态获取权限:
import { AndroidPermissions } from '@ionic-native/android-permissions/ngx';
const readPermission = this.androidPermissions.PERMISSION.READ_EXTERNAL_STORAGE as string;
const writePermission = this.androidPermissions.PERMISSION.WRITE_EXTERNAL_STORAGE as string;
this.androidPermissions.requestPermissions([readPermission, writePermission])
.then((re: AndroidPermissionResponse) => {
this.logger.info('获取权限结果', re);
// 执行读写逻辑
}).catch((err) => {
this.logger.info('获取权限异常', re);
});