栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

将fileChooserParams中的mime类型转换为Intent.setType的正确格式

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

将fileChooserParams中的mime类型转换为Intent.setType的正确格式

我使用以下代码改进了解决方案:

   // Validation utility for mime types    private List<String> extractValidMimeTypes(String[] mimeTypes) {        List<String> results = new ArrayList<String>();        List<String> mimes;        if (mimeTypes.length() == 1 && mimeTypes[0].contains(",")) { mimes = Arrays.asList(mimeTypes[0].split(","));        } else { mimes = Arrays.asList(mimeTypes);        }        MimeTypeMap mtm = MimeTypeMap.getSingleton();        for (String mime : mimes) { if (mime != null && mime.trim().startsWith(".")) {     String extensionWithoutDot = mime.trim().substring(1, mime.trim().length());     String derivedMime = mtm.getMimeTypeFromExtension(extensionWithoutDot);     if (derivedMime != null && !results.contains(derivedMime)) {         // adds valid mime type derived from the file extension         results.add(derivedMime);     } } else if (mtm.getExtensionFromMimeType(mime) != null && !results.contains(mime)) {     // adds valid mime type checked agains file extensions mappings     results.add(mime); }        }        return results;    }public boolean onShowFileChooser(WebView webView, final ValueCallback<Uri[]> filePathsCallback, final WebChromeClient.FileChooserParams fileChooserParams) {    Intent intent = fileChooserParams.createIntent();    List<String> validMimeTypes = extractValidMimeTypes(fileChooserParams.getAcceptTypes());    if (validMimeTypes.isEmpty()) {        intent.setType(DEFAULT_MIME_TYPE);    } else {        intent.setType(String.join(" ", validMimeTypes));    }    ...

有关更多详细信息,请参见我的请求请求。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/498285.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号