我的应用程序使用相机拍照并长期使用.
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);
但是当我调用takePersistableUriPermission()时,我将获得SecurityException:找不到可持续的权限授予
我读过这个
Getting Permission Denial Exception.
它适用于ACTION_OPEN_document.
如何获得Camera的持久许可?
解决方法:
对MediaStore URI的访问仅受存储权限(即READ_EXTERNAL_STORAGE)的控制,因此只要您继续保留存储权限,就可以访问Uris,因此在这种情况下您根本不需要保留权限.
在ACTION_GET_CONTENT,ACTION_OPEN_document等中使用的URI based permissions通过包含在返回的Intent中的FLAG_GRANT_READ_URI_PERMISSION给出对URI的特殊一次访问.
它只是文档URI(DocumentsContract.isDocumentUri()返回true的那些),允许您persist permissions更永久地访问Uri.
总结以上是内存溢出为你收集整理的java – SecurityException:没有从ACTION_IMAGE_CAPTURE找到uri的可持久权限授予全部内容,希望文章能够帮你解决java – SecurityException:没有从ACTION_IMAGE_CAPTURE找到uri的可持久权限授予所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)