首页 > 解决方案 > 对于 Android 9,内容解析器对数据的查询为空

问题描述

今天我在尝试将外部 PDF 导入我的应用程序时遇到问题。此问题仅发生在 Android 9(可能是 9+)上。在用于检索文件路径的代码部分下方:

String[] proj = { MediaStore.Images.Media.DATA, OpenableColumns.DISPLAY_NAME };
Cursor cursor = context.getContentResolver().query(uri, proj, null, null, null);

if (cursor != null && cursor.moveToFirst()) {
    String path = cursor.getString(0); // <-- This is always null

    //In the case it comes from Chrome
    if(pathExternalFile.getAuthority().contains("chrome") || pathExternalFile.getAuthority().contains("fetcher"))
        name = String.format("%s/%s", Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS), path);
    else
        name = path;

}

Android 9 有什么变化吗?我已经阅读了文档,似乎一切都很好。

标签: javaandroidandroid-contentresolver

解决方案


推荐阅读