hasPermission

2022-06-16 14:18 更新

hasPermission提供動(dòng)態(tài)檢測(cè)應(yīng)用是否已取得某個(gè)或多個(gè)權(quán)限。

關(guān)于動(dòng)態(tài)權(quán)限:Android系統(tǒng)自6.0開(kāi)始,提供了同iOS系統(tǒng)使用體驗(yàn)一致的動(dòng)態(tài)權(quán)限機(jī)制:對(duì)于敏感權(quán)限,如獲取手機(jī)ID | IMEI,訪問(wèn)相冊(cè)存儲(chǔ),定位,錄音,拍照,錄像等,需要在APP運(yùn)行過(guò)程中動(dòng)態(tài)向用戶(hù)申請(qǐng),用戶(hù)同意后方可使用相應(yīng)的功能。Android要求APP目標(biāo)適配版本(targetSdkVersion)為23及以上(建議設(shè)置26及以上),為幫助您更好的使用該接口,論壇維護(hù)了一個(gè)示例;如何動(dòng)態(tài)申請(qǐng)權(quán)限見(jiàn)requestPermission。

權(quán)限列表中,類(lèi)似contacts | contacts-r | contacts-w為權(quán)限組合,可以分別申請(qǐng)讀寫(xiě)、只讀取、只寫(xiě)入權(quán)限,如果只需要讀取或者寫(xiě)入,則應(yīng)該使用contacts-r或contacts-w,而不是contacts。

注:該方法為同步方法,方法調(diào)用后直接返回結(jié)果。

hasPermission({params})

params

list:

  • 類(lèi)型:字符串?dāng)?shù)組
  • 默認(rèn)值:無(wú)
  • 描述:權(quán)限列表。
  • 取值范圍:

camera               //相機(jī)/拍照/錄像
contacts             //聯(lián)系人讀取/寫(xiě)入
contacts-r           //僅聯(lián)系人讀取。iOS中等同于contacts。
contacts-w           //僅聯(lián)系人寫(xiě)入。iOS中等同于contacts。
microphone           //使用麥克風(fēng)錄制音頻
photos               //訪問(wèn)相冊(cè)|本地存儲(chǔ)空間。Android上等同于storage。
photos-w             //僅寫(xiě)入相冊(cè)|本地存儲(chǔ)空間。Android上等同于storage-w。
location             //定位
locationAlways       //后臺(tái)定位,只支持iOS
notification         //狀態(tài)欄通知
calendar             //日歷讀取/寫(xiě)入。只支持Android
calendar-r           //僅日歷讀取
calendar-w           //僅日歷寫(xiě)入
phone                //直接撥打電話(huà)/獲取手機(jī)號(hào)碼|IMEI。只支持Android
phone-call           //僅直接撥打電話(huà)
phone-r              //僅獲取手機(jī)號(hào)碼|IMEI
phone-r-log          //讀取通話(huà)記錄
phone-w-log          //寫(xiě)入通話(huà)記錄
sensor               //傳感器.只支持Android
sms                  //讀取短信/后臺(tái)發(fā)送短信。只支持Android
sms-s                //僅后臺(tái)發(fā)送短信
sms-r                //僅讀取短信
storage              //讀取/寫(xiě)入|相冊(cè)|多媒體|本地存儲(chǔ)空間。只支持Android
storage-r            //僅讀取|相冊(cè)|多媒體|文件|本地存儲(chǔ)空間
storage-w            //僅寫(xiě)入|相冊(cè)|多媒體|文件|本地存儲(chǔ)空間

return

  • 類(lèi)型:JSON對(duì)象數(shù)組
  • 內(nèi)部字段:

[{
    name:                 //權(quán)限名,字符串類(lèi)型。
    granted:              //是否允許,如果從未請(qǐng)求過(guò)該權(quán)限或者用戶(hù)未做出過(guò)選擇時(shí)將返回false,布爾類(lèi)型。
    undetermined:         //是否從未請(qǐng)求過(guò)該權(quán)限或者用戶(hù)未做出過(guò)選擇,只支持iOS,注意:請(qǐng)求notification權(quán)限時(shí)無(wú)法獲取該狀態(tài),布爾類(lèi)型。
    limited:              //該字段僅photos權(quán)限有效,表示訪問(wèn)相冊(cè)是否有限制,當(dāng)受限時(shí),應(yīng)用只能獲取到用戶(hù)在相冊(cè)選定的那部分資源,只支持iOS 14及以上系統(tǒng),布爾類(lèi)型。
    reducedAccuracy:      //該字段僅location、locationAlways有效,返回當(dāng)前是否為模糊定位,只支持iOS 14及以上系統(tǒng),布爾類(lèi)型。在iOS 14以上系統(tǒng)中,用戶(hù)可以選擇只對(duì)應(yīng)用授權(quán)模糊定位,如果應(yīng)用對(duì)定位精度要求高,則可以在判斷為模糊定位后請(qǐng)求locationFullAccuracy權(quán)限,系統(tǒng)將彈出開(kāi)啟精準(zhǔn)定位彈框,用戶(hù)可以再次進(jìn)行選擇。
}]

示例代碼

var resultList = api.hasPermission({
    list:['camera']
});
var granted = resultList[0].granted;
api.alert({
    msg: granted?'有權(quán)限':'無(wú)權(quán)限'
});

可用性

iOS系統(tǒng),Android系統(tǒng)

可提供的1.2.76及更高版本

以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)