在Android Q中,将图片保存在应用程序特定的目录中,
path like = /data/user/0/xxx.xxx.xxx/files/phone/abc.jpg
不保存在外部存储中,请使用Device FileExplorer进行查看, 需要检查文件是否存在,避免再次下载 ,但在Android Q file.exist()中不起作用
File newFile = new File(path);
newFile.exists();
总是返回假
这个问题。我需要使用MediaStore或SAF来解析它。 或其他功能进行检查。
如果我使用MediaStore进行检查。使用ContentResolver。可能是这样的:
public void getPhotoCursor(Uri uri) {
Cursor cursor = getContentResolver().query(uri, null, null, null, null, null);
try {
if (cursor != null && cursor.moveToFirst()) {
String displayName = cursor.getString(cursor.getColumnIndex(OpenableColumns.DISPLAY_NAME));
}
} finally {
cursor.close();
}
}
但是我无法获取Uri表单应用程序特定的目录。如果我得到了Uri,如何使用文件描述符进行检查。 或使用SAF进行检查。
File testFile = new File(getExternalFilesDir()+"phone", "abc.jpg");
FileProvider.getUriForFile(,,testFile);
Intent testIntent = new Intent(Intent.ACTION_VIEW);
testIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
testIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
testIntent.setDataAndType();
startActivity(testIntent);
在ActivityResult中进行检查
任何帮助都会得到帮助
答案 0 :(得分:0)
是我的错,每次打开APP时,我都会从APP特定的文件夹中删除所有.jpg。 所以进入APP我要检查以避免再次下载。文件存在总是返回false。