1

我正在开发一个应用程序,用户在该应用程序中选择一个 pdf 文件,然后将其上传到 firebase。问题是当用户想要选择一个文件时,还会显示其他不是 pdf 的文件。我想限制它并只想显示 pdf 文件。

我正在使用此代码仅选择 pdf 文件,但它也显示其他文件。

Intent intent = new Intent();
intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("application/pdf");
startActivityForResult(intent.createChooser(intent, "Select PDF file"), FILE_CHOOSER);

我该怎么做?有什么帮助吗?

4

1 回答 1

1

我仅使用此代码打开 PDF 文件。

String[] supportedMimeTypes = {"application/pdf"};
            Intent intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);

            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
                intent.setType(supportedMimeTypes.length == 1 ? supportedMimeTypes[0] : "*/*");
                if (supportedMimeTypes.length > 0) {
                    intent.putExtra(Intent.EXTRA_MIME_TYPES, supportedMimeTypes);
                }
            } else {
                String mimeTypes = "";
                for (String mimeType : supportedMimeTypes) {
                    mimeTypes += mimeType + "|";
                }
                intent.setType(mimeTypes.substring(0,mimeTypes.length() - 1));
            }
            startActivityForResult(intent, FILE_CHOOSER);
于 2020-10-28T06:36:41.427 回答