hasPermission

2022-06-16 14:18 更新

hasPermission提供動態(tài)檢測應用是否已取得某個或多個權限。

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

權限列表中,類似contacts | contacts-r | contacts-w為權限組合,可以分別申請讀寫、只讀取、只寫入權限,如果只需要讀取或者寫入,則應該使用contacts-r或contacts-w,而不是contacts。

注:該方法為同步方法,方法調用后直接返回結果。

hasPermission({params})

params

list:

  • 類型:字符串數(shù)組
  • 默認值:無
  • 描述:權限列表。
  • 取值范圍:

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

return

  • 類型:JSON對象數(shù)組
  • 內部字段:

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

示例代碼

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

可用性

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

可提供的1.2.76及更高版本

以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號