#react-native #android-studio
#react-native #android-studio
Вопрос:
я создаю музыкальный проигрыватель, и мне нужно получить доступ к музыкальным файлам, поэтому первым делом запрашиваю разрешения на доступ к файлам:
componentDidMount() {
this.requestPermission();
}
requestPermission = async () => {
try {
const userResponse = await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE,
PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE,
]);
if (userResponse === PermissionsAndroid.RESULTS.GRANTED) {
alert("nice");
}else {
alert("no nice");
}
}catch (error) {
alert(error)
}
};
даже когда я уже нажал «Разрешить» и перезагрузил проект, он скажет «нет», я открываю конфигурацию приложения, и разрешение на хранение в порядке, так что не понимаю, почему это происходит
Комментарии:
1. Я не уверен, но, насколько я знаю, вы также должны добавить разрешение в свой манифест
Ответ №1:
Согласно документации requestMultiple вернет объект с разрешениями в виде ключей и строк в виде значений (см. Строки результатов выше), указывающие, разрешил ли пользователь или отклонил запрос или не хочет, чтобы его запрашивали снова.
попробуйте это
if (userResponse[PermissionsAndroid.PERMISSIONS.READ_EXTERNAL_STORAGE] === PermissionsAndroid.RESULTS.GRANTED amp;amp; userResponse[PermissionsAndroid.PERMISSIONS.WRITE_EXTERNAL_STORAGE] ===
PermissionsAndroid.RESULTS.GRANTED
) {
alert('nice');
} else {
alert('no nice');
}