关于获取Android权限动态申请 - ImVeryGood/Loan GitHub Wiki
import {NativeModules, PermissionsAndroid, Platform} from 'react-native';
import {Utils} from '@react-native-mint/services';
const { RNMintNewDeviceInfo } = NativeModules;
class RNDevice {
getSms(onSuccess: Object=>void) {
this._checkAndroidPermission(onSuccess);
}
_checkAndroidPermission(onSuccess: any) {
if (Platform.Version > 21) {
let promise = PermissionsAndroid.check(PermissionsAndroid.PERMISSIONS.READ_SMS);
promise.then((data) => {
if (data) {
RNMintNewDeviceInfo.getSms(onSuccess);
} else {
this._requestPermission(onSuccess);
}
});
} else {
RNMintNewDeviceInfo.getSms(onSuccess);
}
}
async _requestPermission(onSuccess: any) {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.READ_SMS,
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
RNMintNewDeviceInfo.getSms(onSuccess);
} else {
Utils.toast('关闭短信读取权限将影响部分功能使用');
}
} catch (err) {
}
}
getAllApp(onSuccess: Object=>void){
RNMintNewDeviceInfo.getAllApp(onSuccess);
}
}
module.exports=new RNDevice();