关于通过MediaStore获取手机内所有pdf文件的问题

我这样通过下面的代码拿到了手机内的pdf文件,但是我试了一下,比如第一次进来搜索到手机内有10个pdf文件,我退出来,然后让微信朋友给我发一个pdf,我打开pdf,我确认这个pdf已经保存在手机内了,再打开搜索pdf的Activity,这时应该有11个pdf文件,但还是只有10个pdf文件,这个该怎么解决呢?在网上搜了一下,说是没有把文件添加到MediaStore里面,但是应该怎么操作呢?最好有相关代码,谢谢
` private void getAllPdf() {

    ContentResolver cr = getActivity().getContentResolver();
    Uri uri = MediaStore.Files.getContentUri("external");
    String[] projection = null;
    String selection = MediaStore.Files.FileColumns.MEDIA_TYPE + "="
            + MediaStore.Files.FileColumns.MEDIA_TYPE_NONE;
    String[] selectionArgs = null; // there is no ? in selection so null here
    String sortOrder = null; // unordered
    Cursor allNonMediaFiles = cr.query(uri, projection, selection, selectionArgs, sortOrder);
    // only pdf
    String selectionMimeType = MediaStore.Files.FileColumns.MIME_TYPE + "=?";
    String mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension("pdf");
    String[] selectionArgsPdf = new String[]{mimeType};
    Cursor cursor = cr.query(uri, projection, selectionMimeType, selectionArgsPdf, sortOrder);
    while (cursor.moveToNext()) {
        int column_index = cursor.getColumnIndexOrThrow(MediaStore.Images.Media.DATA);
        String filePath = cursor.getString(column_index);//所有pdf文件路径
        String fileName = getFileNameWithSuffix(filePath);//所有文件名称
    }
}

`

阅读 6.2k
2 个回答
新手上路,请多包涵

你好,我也遇到了此问题,请问这个解决了吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题