我们需要检查在公用程序中接收到的文件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
感谢您帮助解决此查询。
答案 0 :(得分:1)
如何以编程方式确认?
你不知道。不需要从系统或其他任何地方获得的Uri
都具有标识元素,这些标识元素指出Uri
指向文件系统的位置。毕竟,Uri
根本不必指向文件系统项。