我正在尝试使用ListView列出存储在Android设备内部和外部内存中的所有PDF文件。但是,我现在不知道,我能想到的唯一方法是检查文件扩展名。那么请你给我一个提示或建议?我非常感谢你的帮助。
答案 0 :(得分:2)
即使这个问题来自2011年,但该主题仍然有意义,这里没有适当的答案。
因此,以下这段代码应可在当今的Android设备上使用:
String selection = "_data LIKE '%.pdf'"
try (Cursor cursor = getApplicationContext().getContentResolver().query(MediaStore.Files.getContentUri("external"), null, selection, null, "_id DESC")) {
if (cursor== null || cursor.getCount() <= 0 || !cursor.moveToFirst()) {
// this means error, or simply no results found
return;
}
do {
// your logic goes here
} while (cursor.moveToNext());
}
答案 1 :(得分:1)
这可能就是您要找的内容:MediaStore.Files
包含的媒体提供者表 媒体中所有文件的索引 存储,包括非媒体文件。 这应该由应用程序使用 适用于非媒体文件类型 (文字,HTML, PDF 等)以及 需要使用的应用程序 单个多媒体文件类型 查询。