export function scan(options : HWScanOption | null, complete : HWScanResultCallBack) {
let permissions = ['android.permission.CAMERA']
console.error(Build.VERSION.SDK_INT)
// Android 14 及以上 选择性照片和视频访问权限
if (Build.VERSION.SDK_INT >= 34) {
permissions.push('android.permission.READ_MEDIA_VISUAL_USER_SELECTED')
permissions.push('android.permission.READ_MEDIA_IMAGES');
}
// Android 13 或以上,使用 READ_MEDIA_IMAGES
else if (Build.VERSION.SDK_INT >= 33) {
permissions.push('android.permission.READ_MEDIA_IMAGES');
}
// Android 11,使用单独的媒体权限
else if (Build.VERSION.SDK_INT >= 29) {
permissions.push('android.permission.READ_MEDIA_IMAGES');
permissions.push('android.permission.READ_MEDIA_VIDEO');
}
// Android 11 以下,使用 READ_EXTERNAL_STORAGE
else if (Build.VERSION.SDK_INT < 28) {
permissions.push('android.permission.READ_EXTERNAL_STORAGE');
}
UTSAndroid.requestSystemPermission(UTSAndroid.getUniActivity()!, permissions, (allRight : boolean, permissions : Array<string>) => {
if (allRight) {
toScan(options, complete)
} else {
console.log(permissions)
}
}, (doNotAskAgain : boolean, permissions : Array<string>) => {
complete({
code: 401,
msg: 'permission not granted',
data: null
})
})
}
0 个回复