假设我有一个完整的文件路径,例如:(/sdcard/tlogo.png)。我想知道它的哑剧类型。
我为它创建了一个函数
public static String getMimeType(File file, Context context) { Uri uri = Uri.fromFile(file); ContentResolver cR = context.getContentResolver(); MimeTypeMap mime = MimeTypeMap.getSingleton(); String type = mime.getExtensionFromMimeType(cR.getType(uri)); return type; }
但是当我调用它时,它返回null。
File file = new File(filePath); String fileType=CommonFunctions.getMimeType(file, context);
首先,您应该考虑调用MimeTypeMap#getMimeTypeFromExtension(),如下所示:
MimeTypeMap#getMimeTypeFromExtension()
// url = file path or whatever suitable URL you want. public static String getMimeType(String url) { String type = null; String extension = MimeTypeMap.getFileExtensionFromUrl(url); if (extension != null) { type = MimeTypeMap.getSingleton().getMimeTypeFromExtension(extension); } return type; }