[英]Android ActivityResultContracts.TakePicture() Permission Denied
我正在使用最新的 Android 活動結果 API 使用設備相機拍照:
private val takePictureActivityResult =
registerForActivityResult(ActivityResultContracts.TakePicture()) { isSuccess ->
if (isSuccess) {
if (imageUri != Uri.EMPTY) {
// SAVE image to external storage
currentImagePath = ImageUtils.saveImageToExternalStorage(this,imageUri)
addImageView.setImageURI(imageUri)
}
}
}
這會導致 SecurityException:
java.lang.SecurityException: Permission Denial: starting Intent { act=android.media.action.IMAGE_CAPTURE flg=0x3 cmp=com.google.android.GoogleCamera/com.android.camera.activity.CaptureActivity clip={text/uri-list {...}} (has extras) } from ProcessRecord{81d69c 11563:com.myapp/u0a242} (pid=11563, uid=10242) with revoked permission android.permission.CAMERA
根據谷歌的文檔:
If your app targets M and above and declares as using the Manifest.permission.CAMERA permission which is not granted, then attempting to use this action will result in a SecurityException.
我沒有在清單中使用android.permission.CAMERA
,應用程序也沒有明確向用戶請求相機權限。 我不明白如果應用程序從未請求過權限,它是如何被撤銷的。 我確實將圖像保存到設備存儲中,因此這些權限在清單中。
提前感謝任何可以解釋這個問題的人。
仔細檢查您的 APK 中沒有 CAMERA 權限。
app
模塊的 AndroidManifest.xml 文件。Merged Manifest
按鈕。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.