Min*_*Lin 3 java android android-camera android-permissions android-securityexception
我的应用程序使用相机拍摄照片并长期使用。
Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
Uri resultUri = null;
resultUri = getContentResolver().insert(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new ContentValues());
imageCaptureIntent.putExtra(MediaStore.EXTRA_OUTPUT, resultUri);
startActivityForResult(imageCaptureIntent, IMAGE_CAPTURE_REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)
但是,当我调用takePersistableUriPermission()时,将得到SecurityException:找不到持久的权限授予
我已经阅读了此“ 获取权限拒绝异常”。它非常适合ACTION_OPEN_DOCUMENT。如何获得Camera的永久许可?
对MediaStoreURI的访问仅受存储权限(即READ_EXTERNAL_STORAGE)控制,因此,只要您继续持有该存储权限,就可以访问Uris,因此在这种情况下,您根本不需要保留任何权限。
基于URI的权限,在使用ACTION_GET_CONTENT,ACTION_OPEN_DOCUMENT等方面给予通过特殊的一次访问URI FLAG_GRANT_READ_URI_PERMISSION被包含在返回Intent。
只有文档URI(在其中DocumentsContract.isDocumentUri()返回true的URI )中,您才能保留权限以赋予对Uri的更多永久访问权。
| 归档时间: |
|
| 查看次数: |
2825 次 |
| 最近记录: |