Não é possível definir um fileIntent para arquivos de imagem do tipo JPG, PNG e JPEG

user2638180:

Eu estou usando o seguinte código:

Intent fileIntent = new Intent(Intent.ACTION_GET_CONTENT);
fileIntent.setType("image/jpg|image/png|image/jpeg"); 
startActivityForResult(fileIntent, REQUEST_FILE);

Eu acredito que o código deve permitir-me para selecionar qualquer arquivo jpg, png ou jpeg, mas isso não acontece.

Por outro lado mudando fileIntent.setType ( "image / jpg | image / png | image / jpeg"); para fileIntent.setType ( "image / *"); permite selecionar o arquivo. Mas também permite selecionar outros arquivos de imagem que não querem.

O que precisa ser corrigido no fileIntent.setType ( "image / jpg | image / png | image / jpeg"); por isso permite escolher arquivos desses tipos, e não outros?

Jkeb:

Você só pode especificar um único mimetype com setType(), em vez aplicar um extra com a chave Intent.EXTRA_MIME_TYPEScom uma variedade de tipos MIME:

fileIntent.putExtra(Intent.EXTRA_MIME_TYPES, Arrays.asList("image/png", "image/jpeg").toArray());

Descobri que mesmo quando fornecendo uma lista de mimetypes você ainda pode precisar aplicar intent.fileType("*/*");à intenção independentemente, no entanto, a lista de mimetypes terá preferência.

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=351267&siteId=1
Recomendado
Clasificación