为什么Android允许未经许可读取文件?
Why does Android allow reading files without permission?
在我的应用程序中,我编写了以下代码来访问文件:
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
所选图像。
为什么我可以在没有 READ_EXTERNAL_STORAGE
许可的情况下访问 Uri
?
minSdk = 19
compileSdk = 27
targetSdk = 27
测试Android 版本:
Android 4.4.2 API 19
Android 6.0.1 API 23
Why am I able to access the Uri without having READ_EXTERNAL_STORAGE permission?
因为用户参与了选择。您被授予对该文档的临时访问权限(并且,如果您使用 takePersistableUriPermissions()
),您可以拥有对该文档的持久访问权限。
在我的应用程序中,我编写了以下代码来访问文件:
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
所选图像。
为什么我可以在没有 READ_EXTERNAL_STORAGE
许可的情况下访问 Uri
?
minSdk = 19
compileSdk = 27
targetSdk = 27
测试Android 版本:
Android 4.4.2 API 19
Android 6.0.1 API 23
Why am I able to access the Uri without having READ_EXTERNAL_STORAGE permission?
因为用户参与了选择。您被授予对该文档的临时访问权限(并且,如果您使用 takePersistableUriPermissions()
),您可以拥有对该文档的持久访问权限。