React Native 检查我是否有权限
React Native check if I have permission
我写了一个应用程序,可以录制音频并进行实时分析。为此,我必须首先请求使用麦克风的许可,因此我为此制作了一个单独的按钮,但我不喜欢该解决方案。该按钮运行此功能:
const requestMicrophone = async () => {
//replace your function with this code.
if (Platform.OS === 'android') {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.RECORD_AUDIO,
{
title: 'Permissions for record audio',
message: 'Give permission to your device to record audio',
buttonPositive: 'ok',
},
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log('permission granted');
} else {
console.log('permission denied');
return;
}
} catch (err) {
console.warn(err);
return;
}
}
};
现在我想检查我是否有使用麦克风的权限。如果是,则渲染录音组件。我试过这个:
if (PermissionsAndroid.PERMISSIONS.RECORD_AUDIO) {
rec = <Recorder/>;
} else {
rec = <Text>Ask for microphone permission first!</Text>;
}
但是这不会检查我是否有权使用麦克风。我从中得到了什么
console.log(PermissionsAndroid.PERMISSIONS.RECORD_AUDIO);
就是
[Wed Nov 18 2020 18:59:44.878] LOG android.permission.RECORD_AUDIO
我找不到任何地方如何检查我是否有权使用麦克风?
经过大量谷歌搜索,我找到了答案:
export const checkMicrophone = async () => {
const result = await PermissionsAndroid.check(
PermissionsAndroid.PERMISSIONS.RECORD_AUDIO,
);
return result;
};
我写了一个应用程序,可以录制音频并进行实时分析。为此,我必须首先请求使用麦克风的许可,因此我为此制作了一个单独的按钮,但我不喜欢该解决方案。该按钮运行此功能:
const requestMicrophone = async () => {
//replace your function with this code.
if (Platform.OS === 'android') {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.RECORD_AUDIO,
{
title: 'Permissions for record audio',
message: 'Give permission to your device to record audio',
buttonPositive: 'ok',
},
);
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log('permission granted');
} else {
console.log('permission denied');
return;
}
} catch (err) {
console.warn(err);
return;
}
}
};
现在我想检查我是否有使用麦克风的权限。如果是,则渲染录音组件。我试过这个:
if (PermissionsAndroid.PERMISSIONS.RECORD_AUDIO) {
rec = <Recorder/>;
} else {
rec = <Text>Ask for microphone permission first!</Text>;
}
但是这不会检查我是否有权使用麦克风。我从中得到了什么
console.log(PermissionsAndroid.PERMISSIONS.RECORD_AUDIO);
就是
[Wed Nov 18 2020 18:59:44.878] LOG android.permission.RECORD_AUDIO
我找不到任何地方如何检查我是否有权使用麦克风?
经过大量谷歌搜索,我找到了答案:
export const checkMicrophone = async () => {
const result = await PermissionsAndroid.check(
PermissionsAndroid.PERMISSIONS.RECORD_AUDIO,
);
return result;
};