android - react-native RECEIVE_SMS android权限总是导致'never_ask_again'
问题描述
我正在请求多个权限。除了接收结果始终为'never_ask_again' 的短信外,一切工作正常。
以下是我正在尝试的代码:
_getPermissions = async () => {
try {
const resuts = await PermissionsAndroid.requestMultiple([
PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
PermissionsAndroid.PERMISSIONS.RECEIVE_SMS,
PermissionsAndroid.PERMISSIONS.READ_PHONE_STATE
]);
if (
resuts[PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION] !==
PermissionsAndroid.RESULTS.GRANTED
) {
alert("Permission not granted. The application may not work properly");
}
if (
resuts[PermissionsAndroid.PERMISSIONS.READ_PHONE_STATE] !==
PermissionsAndroid.RESULTS.GRANTED
) {
alert("Permission not granted. The application may not work properly");
}
if (
resuts[PermissionsAndroid.PERMISSIONS.RECEIVE_SMS] !==
PermissionsAndroid.RESULTS.GRANTED
) {
alert("Permission not granted. The application may not work properly");
}
} catch (err) {
console.warn(err);
}
};
解决方案
将此行修复为相反的条件:
if (
resuts[PermissionsAndroid.PERMISSIONS.RECEIVE_SMS] ===
PermissionsAndroid.RESULTS.DENIED
) {
Alert.alert("Permission not granted. The application may not work properly");
}
推荐阅读
- django - Django rest 模型 m2m 顺序存储
- javascript - InvalidSelectorError:无效选择器:无法使用 xpath 表达式定位元素
- html - CSS图像重新对齐,不同的液晶屏/屏幕
- c++ - 与 alphachannel 的图像重叠在 QT 上不起作用
- c# - 不同的 Json 数据 c#
- typescript - 如何在“noImplicitAny”检查活动的情况下重写循环中的打字稿?
- c# - 在 mongodb C# 驱动程序中引发自定义 IBsonSerializer 异常
- swift - 如何归档 UICollectionView 元素的数据
- networking - 当我使用 UDP 时,如何知道我发送的数据包是否被接收?
- azure - 找不到 Microsoft.Azure.ServiceBus.Message 的出队计数