第一种是通过ContentResolver获取
public static String getMimeType(Context context,File file,@NonNull String authority){
Uri uri;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
uri = FileProvider.getUriForFile(context, authority, file);
} else {
uri = Uri.fromFile(file);
}
ContentResolver resolver = context.getContentResolver();
return resolver.getType(uri);
}
另一种是通过URLConnection获取
public static String getMimeType(File file){
FileNameMap fileNameMap = URLConnection.getFileNameMap();
String type = fileNameMap.getContentTypeFor(file.getName());
return type;
}