参考文章地址:https://blog.csdn.net/Programming2012/article/details/50060099 public List<String> getSpecificTypeOfFile(Context context, String[] extension) { List<String> list = new ArrayList<>(); //从外存中获取 Uri fileUri = MediaStore.Files.getContentUri("external"); //筛选列,这里只筛选了:文件路径和不含后缀的文件名 String[] projection = new String[]{ MediaStore.Files.FileColumns.DATA, MediaStore.Files.FileColumns.TITLE }; //构造筛选语句 String selection = ""; for (int i = 0; i < extension.length; i++) { if (i != 0) { selection = selection + " OR "; } selection = selection + MediaStore.Files.FileColumns.DATA + " LIKE '%" + extension[i] + "'"; } //按时间递增顺序对结果进行排序;待会从后往前移动游标就可实现时间递减 String sortOrder = MediaStore.Files.FileColumns.DATE_MODIFIED; //获取内容解析器对象 ContentResolver resolver = context.getContentResolver(); //获取游标 Cursor cursor = resolver.query(fileUri, projection, selection, null, sortOrder); if (cursor == null) { return list; } //游标从最后开始往前递减,以此实现时间递减顺序(最近访问的文件,优先显示) if (cursor.moveToLast()) { do { //输出文件的完整路径 String data = cursor.getString(0); list.add(data); // Log.e(TAG, data); } while (cursor.moveToPrevious()); } cursor.close(); return list; }
安卓快速获取本地指定文件的文档
最新推荐文章于 2024-07-21 21:29:33 发布