¿Cómo puedo obtener el tipo mime de un archivo con su Uri?
Tengo una Lista de Uris obtenida con la Galería y la Cámara. Estos Uris son así: content://media/external/images/media/94
. ¿Cómo puedo obtener su tipo mime?
- Contactos photo uri en Android 2.3 y Android 4.0
- Problema con URI matcher en Android
- No se pueden seleccionar algunas fotos de Galería en Android
- Cómo obtener Bitmap de un Uri?
- Cómo obtener la ruta del archivo de la imagen de URI en Android Lollipop?
- Imagen de Uri a bytesarray
- Content: // mms-sms / conversations / return NullPointerException en Android ICS Samsung
- Cómo restaurar el archivo vcf sin utilizar la aplicación externa?
- Agregar calendario y eventos en Android 2.2
- Obtener ruta y nombre de archivo del resultado de la intención de la cámara
- Compartir imagen de la URL a través de la aplicación de Twitter - Android
- Android: Obtener un archivo URI de un URI de contenido?
- La intención de Android para abrir tanto Waze como los mapas de Google
Puedes probar
ContentResolver cR = context.getContentResolver(); MimeTypeMap mime = MimeTypeMap.getSingleton(); String type = mime.getExtensionFromMimeType(cR.getType(uri));
Editar:
mime.getExtensionFromMimeType(cR.getType(uri))
Devuelve -> "jpeg"
cR.getType(uri);
Devuelve "image / jpeg" que es el valor esperado.
Este método devuelve la extensión del archivo (jpg, png, pdf, epub, etc.).
public static String getMimeType(Context context, Uri uri) { String extension; //Check uri format to avoid null if (uri.getScheme().equals(ContentResolver.SCHEME_CONTENT)) { //If scheme is a content final MimeTypeMap mime = MimeTypeMap.getSingleton(); extension = mime.getExtensionFromMimeType(context.getContentResolver().getType(uri)); } else { //If scheme is a File //This will replace white spaces with %20 and also other special characters. This will avoid returning null values on file name with spaces and special characters. extension = MimeTypeMap.getFileExtensionFromUrl(Uri.fromFile(new File(uri.getPath())).toString()); } return extension; }
En lugar de esto:
String type = mime.getExtensionFromMimeType(cR.getType(uri));
Hacer esto:
String type = cR.getType(uri);
Y obtendrá esto: image/jpeg
.
- Cómo borrar la pila de Android de las actividades?
- ¿Cómo puedo Zip y descomprimir una cadena usando GZIPOutputStream que es compatible con .Net?