Buscando Arquivos no Android

ByLearner você quer saber como fazer a sua aplicação Android recuperar arquivos do seu dispositivo para poder ser utilizado na sua aplicação?
Nesse post vou mostar como fazer isso utilizando as APIs nativas do Android.

No código abaixo será mostrado um método que faz a chamada para a API do Android abrir o gerenciador de arquivos nativo.

fun buscarArquivo() {
        val intent = Intent(Intent.ACTION_GET_CONTENT)
        intent.type = "*/*"
        intent.addCategory(Intent.CATEGORY_OPENABLE)

        try {
            startActivityForResult(Intent.createChooser(intent, "Selecione o anexo"), REQUEST_CODE) //O REQUEST_CODE é um código INT que o desenvolvedor escolhe para mapear o retorno.
        } catch (e: ActivityNotFoundException) {
            Toast.makeText(this, "Não encontramos nenhum gerenciador de arquivos",
                    Toast.LENGTH_SHORT).show()
        }
    }

Tendo escolhido o arquivo, agora precisamos saber como recuperar ele, então no código abaixo será mostrado como recuperar o endereço do arquivo.

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        super.onActivityResult(requestCode, resultCode, data)
        if (REQUEST_ATTACHMENT == requestCode && Activity.RESULT_OK == resultCode && data != null) {
            try {
                val uri = data.data ?: throw IllegalAccessException()
                //utilizar o arquivo
            } catch (th: Throwable) {
                //tratar erro ao recuperar a URI
            }
        }
    }

Deixe uma resposta