React Native模塊之Permissions權(quán)限申請的實例相機
React Native模塊之Permissions權(quán)限申請的實例詳解
前言
對于移動開發(fā),我們知道Android 6.0之后對于權(quán)限管理做了很大的升級,其類似于IOS的管理管理方式需要用手動授權(quán)是否允許使用當前權(quán)限, 在RN開發(fā)中同樣存在這樣一個模塊。
處理方法
在RN中提供了一個PermissionsAndroid的模塊, 可以訪問Android M(也就是6.0)開始提供的權(quán)限模型。有一些權(quán)限寫在AndroidManifest.xml就可以在安裝時自動獲得。但有一些“危險”的權(quán)限則需要彈出提示框供用戶選擇。本API即用于后一種情形。
在低于Android 6.0的設(shè)備上,權(quán)限只要寫在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,最終值為用戶是否授權(quán)過的布爾值。
request(permission, rationale?)
彈出提示框向用戶請求某項權(quán)限。返回一個promise,最終值為用戶是否同意了權(quán)限申請的布爾值。
requestMultiple(permissions)
在一個彈出框中向用戶請求多個權(quán)限。返回值為一個object,key為各權(quán)限名稱,對應(yīng)值為用戶授權(quán)與否。
如有疑問請留言或者到本站社區(qū)交流討論,感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
相關(guān)文章
Redux DevTools不能顯示數(shù)據(jù)問題
這篇文章主要介紹了Redux DevTools不能顯示數(shù)據(jù)問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01React Native 混合開發(fā)多入口加載方式詳解
這篇文章主要介紹了React Native 混合開發(fā)多入口加載方式詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習或者工作具有一定的參考學(xué)習價值,需要的朋友們下面隨著小編來一起學(xué)習學(xué)習吧2019-09-09react?fiber使用的關(guān)鍵特性及執(zhí)行階段詳解
這篇文章主要為大家介紹了react?fiber使用的關(guān)鍵特性及執(zhí)行階段詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2023-05-05React實現(xiàn)組件間通信的幾種方式小結(jié)
在React應(yīng)用中,組件間的通信是一個基礎(chǔ)而關(guān)鍵的概念,理解和掌握不同組件之間的通信方式,可以幫助我們構(gòu)建出更加模塊化、可維護和可擴展的應(yīng)用程序,React提供了多種組件通信的方法,本文給大家詳細的介紹了這些方法,需要的朋友可以參考下2024-07-07react使用節(jié)流函數(shù)防止重復(fù)點擊問題
這篇文章主要介紹了react使用節(jié)流函數(shù)防止重復(fù)點擊問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06