Android 10:如何检查收到的文件路径是否是应用程序特定目录(getExternalFilesDir)中的文件路径

时间:2020-05-15 06:04:00

标签: android-10.0

我们需要检查在公用程序中接收到的文件uri是否属于存储在应用程序基本文件夹下任何子文件夹中的文件。比较路径似乎不是正确的方法。

String basePath = context.getExternalFilesDir(null);
System.out.println(basePath);
//Gives this output
/storage/emulated/0/Android/data/<packagename>/files/

//Created a sub-directory, localfiles and placed test.jpg in that

//When uri of test.jpg is received and path is checked
File testFile = new File(uri.getPath());
System.out.println(testFile.getAbsolutePath());
//Output is as below
/document/primary:Android/data/<packagename>/files/localfiles/test.jpg

我知道test.jpg存储在getExternalFilesDir返回的基本路径的子文件夹之一中,但是如何以编程方式确认呢?

**Base path**: /storage/emulated/0/Android/data/<packagename>/files/
**test.jpg path**: /document/primary:Android/data/<packagename>/files/localfiles/test.jpg

感谢您帮助解决此查询。

1 个答案:

答案 0 :(得分:1)

如何以编程方式确认?

你不知道。不需要从系统或其他任何地方获得的Uri都具有标识元素,这些标识元素指出Uri指向文件系统的位置。毕竟,Uri根本不必指向文件系统项。