PermissionsAndroid
PermissionsAndroid
需要本机代码的项目
此API仅适用于react-native init
使用Create React Native App创建的项目或使用Create React Native App创建的项目,该项目已经弹出。有关弹出的更多信息,请参阅创建React Native App存储库的指南。
PermissionsAndroid
提供对Android M新的权限模型的访问。只要安装了应用程序,只要它们出现,默认情况下就会授予某些权限AndroidManifest.xml
。但是,“危险”权限需要对话提示。您应该为这些权限使用此模块。
在SDK版本23之前的设备,如果他们出现在清单中的权限自动授予,所以check
并request
应始终是真实的。
如果用户先前已关闭了您提示的权限,则操作系统会建议您的应用程序显示需要该权限的基本原理。可选rationale
参数仅在必要时才显示对话框提示 - 否则会出现正常的权限提示。
例
import { PermissionsAndroid } from 'react-native';
async function requestCameraPermission() {
try {
const granted = await PermissionsAndroid.request(
PermissionsAndroid.PERMISSIONS.CAMERA,
{
'title': 'Cool Photo App Camera Permission',
'message': 'Cool Photo App needs access to your camera ' +
'so you can take awesome pictures.'
}
)
if (granted === PermissionsAndroid.RESULTS.GRANTED) {
console.log("You can use the camera")
} else {
console.log("Camera permission denied")
}
} catch (err) {
console.warn(err)
}
}
方法
constructor()
checkPermission(permission)
DEPRECATED - use check
返回解析为布尔值的promise,以确定是否已授予指定的权限
@deprecated
检查(许可)
返回解析为布尔值的promise,以确定是否已授予指定的权限
requestPermission(permission, rationale?)
DEPRECATED - 使用请求
提示用户启用权限并返回解析为布尔值的承诺,指示用户是允许还是拒绝该请求
如果包含可选的基本原理参数(这是带有title
and 的对象message
),则此函数将与OS一起检查是否需要显示解释为什么需要权限的对话框(https://developer.android.com/training/ permissions / requests.html#explain),然后显示系统权限对话框
@deprecated
request(permission, rationale?)
提示用户启用权限并返回解析为指示用户是否允许或拒绝该请求的字符串值的承诺
如果包含可选的基本原理参数(这是带有title
and 的对象message
),则此函数将与OS一起检查是否需要显示解释为什么需要权限的对话框(https://developer.android.com/training/ permissions / requests.html#explain),然后显示系统权限对话框
requestMultiple(permissions)
提示用户在同一个对话框中启用多个权限,并返回一个具有权限作为键和字符串的对象作为指示用户是否允许或拒绝请求的值