【IWH冬ReactNative】权限管理与申请 react-native-permissions

android高版本的系统,堆权限管理很严格,除了需要在清单文件写明权限,还要动态申请,这里演示,对外部存储的申请。

yarn add react-native-permission

首先在清单文件写入权限列表

1
2
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

权限检查

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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;
}

},

权限申请

1
2
3
4
5
6
7
if (await request(PERMISSIONS.ANDROID.WRITE_EXTERNAL_STORAGE).then(result => {
return result === RESULTS.GRANTED
})) {
Utils.down(content, info);
} else {
ToastAndroid.show('请授予存储权限!');
}