【问题标题】:select only specific file type using intent.getContent method使用 intent.getContent 方法仅选择特定文件类型
【发布时间】:2018-07-30 11:02:48
【问题描述】:

我正在尝试使用以下代码在特定事件中从设备中选择一些文件。

对于我使用的音频:

intent.setAction(Intent.ACTION_GET_CONTENT);
intent.setType("audio/*");
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
startActivityForResult(Intent.createChooser(intent, "Select ,Music"),AUDIO_REQUEST);

但问题是当用户尝试从 es 文件资源管理器中进行选择时,它也允许选择其他文件类型。如何防止选择其他文件类型并仅允许音频类型。屏幕截图在这里。

编辑

我还想选择文档文件类型,例如 doc ppt xl 等。 为此我使用过

String[] mimeTypes = {"application/msword", "application/vnd.openxmlformats-officedocument.wordprocessingml.document", // .doc & .docx
                            "application/vnd.ms-powerpoint", "application/vnd.openxmlformats-officedocument.presentationml.presentation", // .ppt & .pptx
                            "application/vnd.ms-excel", "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", // .xls & .xlsx
                            "text/plain",
                            "application/pdf"};

intent.setAction(Intent.ACTION_GET_CONTENT);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        intent.setType("*/*");
        intent.putExtra(Intent.EXTRA_MIME_TYPES, mimeTypes);
} else {
       String mimeTypesStr = "";
        for (String mimeType : mimeTypes) {
                 mimeTypesStr += mimeType + "|";
        }
       intent.setType(mimeTypesStr.substring(0, mimeTypesStr.length() - 1));
}
intent.putExtra(Intent.EXTRA_LOCAL_ONLY, true);
startActivityForResult(Intent.createChooser(intent, "select Document"),DOCUMENT_REQUEST);

但是,同样的事情也发生在这件事上。 有人可以帮我解决这个问题吗?

【问题讨论】:

标签: android android-intent


【解决方案1】:

试试

intent.setType("audio/mpeg");

intent.setType("audio/mp3");

或者这样试试

Intent intent = null;
    if(Build.VERSION.SDK_INT < Build.VERSION_CODES.KITKAT) {
         intent = new Intent(Intent.ACTION_GET_CONTENT);
    }else {
         intent = new Intent(Intent.ACTION_OPEN_DOCUMENT);
    }

    // The MIME data type filter
    intent.setType("audio/*")

【讨论】:

    猜你喜欢
    • 2018-10-27
    • 2013-07-13
    • 1970-01-01
    • 1970-01-01
    • 2020-06-05
    • 2011-11-26
    • 1970-01-01
    • 1970-01-01
    • 2021-09-11
    相关资源
    最近更新 更多