在我的应用中,我编写了以下代码来访问文件:
public void performFileSearch() {
Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
intent.addCategory(Intent.CATEGORY_OPENABLE);
intent.setType("image/*");
startActivityForResult(intent, READ_REQUEST_CODE);
}
在onActivityResult
中,我收到Uri
的所选图像。
为什么在没有Uri
权限的情况下可以访问READ_EXTERNAL_STORAGE
?
minSdk = 19
compileSdk = 27
targetSdk = 27
测试Android版本:
Android 4.4.2 API 19
Android 6.0.1 API 23
答案 0 :(得分:2)
为什么没有READ_EXTERNAL_STORAGE权限就可以访问Uri?
因为用户参与了选择。您被授予对该文件的临时访问权限(并且,如果您使用takePersistableUriPermissions()
),则可以永久访问该文件。