为什么Android允许未经许可读取文件?

时间:2018-07-23 11:01:16

标签: android android-permissions android-file android-storage

在我的应用中,我编写了以下代码来访问文件:

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

1 个答案:

答案 0 :(得分:2)

  

为什么没有READ_EXTERNAL_STORAGE权限就可以访问Uri?

因为用户参与了选择。您被授予对该文件的临时访问权限(并且,如果您使用takePersistableUriPermissions()),则可以永久访问该文件。