android高版本的系统,堆权限管理很严格,除了需要在清单文件写明权限,还要动态申请,这里演示,对外部存储的申请。
yarn add react-native-permission
首先在清单文件写入权限列表
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
权限检查
async writeCheck(permission = PERMISSIONS.ANDROID.WRITE_EXTERNAL_STORAGE) {
try {
let status = await check(permission).then(result => {
return result === RESULTS.GRANTED ? true : false;
}).catch(error => {
ToastAndroid.show(error);
return false;
});
return status;
} catch (e) {
return false;
}
},
权限申请
if (await request(PERMISSIONS.ANDROID.WRITE_EXTERNAL_STORAGE).then(result => {
return result === RESULTS.GRANTED
})) {
Utils.down(content, info);
} else {
ToastAndroid.show('请授予存储权限!');
}