React Native模塊之Permissions權(quán)限申請的實(shí)例相機(jī)
React Native模塊之Permissions權(quán)限申請的實(shí)例詳解
前言
對于移動開發(fā),我們知道Android 6.0之后對于權(quán)限管理做了很大的升級,其類似于IOS的管理管理方式需要用手動授權(quán)是否允許使用當(dāng)前權(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?)
彈出提示框向用戶請求某項(xiàng)權(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-01
React Native 混合開發(fā)多入口加載方式詳解
這篇文章主要介紹了React Native 混合開發(fā)多入口加載方式詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
react?fiber使用的關(guān)鍵特性及執(zhí)行階段詳解
這篇文章主要為大家介紹了react?fiber使用的關(guān)鍵特性及執(zhí)行階段詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05
React實(shí)現(xiàn)組件間通信的幾種方式小結(jié)
在React應(yīng)用中,組件間的通信是一個基礎(chǔ)而關(guān)鍵的概念,理解和掌握不同組件之間的通信方式,可以幫助我們構(gòu)建出更加模塊化、可維護(hù)和可擴(kuò)展的應(yīng)用程序,React提供了多種組件通信的方法,本文給大家詳細(xì)的介紹了這些方法,需要的朋友可以參考下2024-07-07
react使用節(jié)流函數(shù)防止重復(fù)點(diǎn)擊問題
這篇文章主要介紹了react使用節(jié)流函數(shù)防止重復(fù)點(diǎn)擊問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06

