本文主要介紹了React Native模組之Permissions權限申請的實例詳解的相關資料,希望透過本文能幫助到大家,需要的朋友可以參考下,希望能幫助到大家。
React Native模組之Permissions權限申請的實例詳解
前言
對於行動開發,我們知道Android 6.0之後對於權限管理做了很大的升級,其類似IOS的管理管理方式需要用手動授權是否允許使用目前權限, 在RN開發中同樣存在這樣一個模組。
處理方法
在RN中提供了一個PermissionsAndroid的模組,可以存取Android M(也就是6.0)開始提供的權限模型。有一些權限寫在AndroidManifest.xml就可以在安裝時自動取得。但有一些「危險」的權限則需要彈出提示框供使用者選擇。本API即用於後一種情形。
在低於Android 6.0的裝置上,權限只要寫在AndroidManifest.xml裡就會自動取得,此情形下check和request 方法將永遠傳回true。
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) } }
常用
#check(permission)
傳回一個promise,最終值為使用者是否授權過的布林值。
request(permission, rationale?)
#彈出提示框向使用者請求某項權限。傳回一個promise,最終值為使用者是否同意了權限申請的布林值。
requestMultiple(permissions)
在一個彈出框中向使用者請求多個權限。傳回值為一個object,key為各權限名稱,對應值為使用者授權與否。
相關推薦:
詳解React Native之prop-types進行屬性確認
以上是React Native模組Permissions權限申請的詳細內容。更多資訊請關注PHP中文網其他相關文章!