您好,登錄后才能下訂單哦!
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為各權限名稱,對應值為用戶授權與否。
如有疑問請留言或者到本站社區交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。