Se você não sabe como recuperar um arquivo no seu aplicativo veja esse post.
Para fazer a conversão de Uri para caminho físico do arquivo, iremos utilizar uma biblioteca que está disponível no GitHub no link.
Para utilizarmos essa biblioteca temos que adicionar a dependência no build.gradle da aplicação a dependência abaixo.
implementation 'com.github.HBiSoft:PickiT:0.1.5'
Também temos que colocar o class path no build.gradle do projeto.
allprojects {
repositories {
...
maven { url 'https://jitpack.io' }
}
}
Com as dependências configuradas no projeto, agora podemos utilizar a lib no projeto e então converter as Uris para os caminhos fisicos. Então para utilizarmos a lib temos que implementar o código abaixo.
Temos que criar uma propriedade da classe.
private lateinit var pickIt: PickiT
Temos que criar um método para instanciar o objeto da biblioteca.
private fun createPickIt() {
pickIt = PickiT(context, object : PickiTCallbacks {
override fun PickiTonStartListener() {}
override fun PickiTonProgressUpdate(progress: Int) {}
override fun PickiTonCompleteListener(path: String?, wasDriveFile: Boolean, wasSuccessful: Boolean, Reason: String?, uri: Uri) {
if (wasSuccessful) {
if (path != null) {
//utilizar o path
}
}
}
})
}
E então com a propriedade pickit criada podemos recuperar o path, fazendo a chamada do método getPath.
pickIt.getPath(uri, Build.VERSION.SDK_INT)
0 comentários