Java 文档文件需要在文件名附近显示文档徽标,如whatsapp
我试图在我的聊天应用程序(如whatsapp)中与其他人共享文档文件。这里我想在文件名附近显示文件类型徽标,我们共享的文件类型。如果是pdf文件pdf徽标,如果是doc文件,则需要在文件名附近显示doc徽标。我该怎么做呢。任何默认模块都存在我遇到了这个问题,以下是我的解决方案: 从文件URI检测MIME类型 在应用程序中定义支持的MIME类型 编写一个从MIME类型获取图标徽标资源的方法Java 文档文件需要在文件名附近显示文档徽标,如whatsapp,java,android,chat,whatsapp,Java,Android,Chat,Whatsapp,我试图在我的聊天应用程序(如whatsapp)中与其他人共享文档文件。这里我想在文件名附近显示文件类型徽标,我们共享的文件类型。如果是pdf文件pdf徽标,如果是doc文件,则需要在文件名附近显示doc徽标。我该怎么做呢。任何默认模块都存在我遇到了这个问题,以下是我的解决方案: 从文件URI检测MIME类型 在应用程序中定义支持的MIME类型 编写一个从MIME类型获取图标徽标资源的方法 希望这对你有帮助 没有默认模块,将应用程序支持的所有文件资源捆绑在drawable中,并使用扩展名进行检查,
希望这对你有帮助 没有默认模块,将应用程序支持的所有文件资源捆绑在drawable中,并使用扩展名进行检查,然后将图标相对放置
public static String getMimeType(Context context, Uri uri) {
String mimeType;
if (uri.getScheme().equals(ContentResolver.SCHEME_CONTENT)) {
ContentResolver cr = context.getApplicationContext().getContentResolver();
mimeType = cr.getType(uri);
} else {
String fileExtension = MimeTypeMap.getFileExtensionFromUrl(uri
.toString());
mimeType = MimeTypeMap.getSingleton().getMimeTypeFromExtension(
fileExtension.toLowerCase());
}
return mimeType;
}
public final class MIMEType {
public static final String IMAGE = "image/*";
public static final String TEXT_PLAIN = "text/plain";
public static final String APPLICATION_PDF = "application/pdf";
public static final String APPLICATION_FLASH = "application/x-shockwave-flash";
public static final String APPLICATION_OCTET_STREAM = "application/octet-stream";
public static final String APPLICATION_DOC = "application/msword";
public static final String APPLICATION_DOCX = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
public static final String APPLICATION_XLS = "application/vnd.ms-excel";
public static final String APPLICATION_XLSX = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
public static final String APPLICATION_PPT = "application/vnd.ms-powerpoint";
public static final String APPLICATION_PPTX = "application/vnd.openxmlformats-officedocument.presentationml.presentation";
}
private int getIconResourceBasedOnMimeType(String mimeType) {
switch (mimeType) {
case MIMEType.TEXT_PLAIN:
return R.drawable.ic_text_blue;
case MIMEType.APPLICATION_PDF:
return R.drawable.ic_pdf_blue;
case MIMEType.APPLICATION_FLASH:
return R.drawable.ic_swf_blue;
case MIMEType.APPLICATION_DOC:
case MIMEType.APPLICATION_DOCX:
return R.drawable.ic_word_blue;
case MIMEType.APPLICATION_XLS:
case MIMEType.APPLICATION_XLSX:
return R.drawable.ic_excel_blue;
case MIMEType.APPLICATION_PPT:
case MIMEType.APPLICATION_PPTX:
return R.drawable.ic_pp_blue;
case MIMEType.APPLICATION_OCTET_STREAM:
default:
return R.drawable.ic_binary_blue;
}
}