我正在尝试使用ListView列出存储在Android设备内部和外部内存中的所有PDF文件。然而,我现在不知道,我唯一能想到的方法就是检查文件扩展名。请你给我一个提示或建议好吗?我真的很感激你的帮助。
尽管这个问题来自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());
}
这可能是您正在寻找的:MediaStore.Files
媒体提供程序表,包含媒体中所有文件的索引存储,包括非媒体文件。这应该由应用程序使用适用于非媒体文件类型(文本、HTML、PDF等)以及需要使用的应用程序单个文件中有多种媒体文件类型查询