Estou desenvolvendo um aplicativo para Android usando kotlin para fazer upload de arquivos pdf para o firebase storage. Segui um tutorial e quando se trata de executar, só posso navegar pelos meus arquivos, mas não consigo escolher nenhum arquivo para fazer upload aqui está uma captura de tela
aqui está o código de mainActivity.kt na classe MainActivity: AppCompatActivity ()
val pdf: Int=0
lateinit var uri:Uri
lateinit var mStorage: StorageReference
sob onCreate ()
val pdfBtn=findViewById<Button>(R.id.pdfBtn)
mStorage=FirebaseStorage.getInstance().getReference("Uploads")
pdfBtn.setOnClickListener(View.OnClickListener {
view: View-> val intent = Intent()
intent.setType("pdf/*")
intent.setAction(Intent.ACTION_GET_CONTENT)
startActivityForResult(Intent.createChooser(intent,"Select PDF"),pdf)
})
O resto do método relacionado ao upload
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
val uriTxt=findViewById<TextView>(R.id.uriTxt)
if(resultCode== Activity.RESULT_OK){
if(requestCode==pdf){
uri=data!!.data
uriTxt.text=uri.toString()
upload()
}
}
super.onActivityResult(requestCode, resultCode, data)
}
private fun upload(){
var mRefrence= mStorage.child(uri.lastPathSegment)
try{
mRefrence.putFile(uri).addOnSuccessListener {
taskSnapshot: UploadTask.TaskSnapshot? -> var url =taskSnapshot!!.downloadUrl
val dwnTxt=findViewById<TextView>(R.id.dwnTxt)
dwnTxt.text=url.toString()
Toast.makeText(this,"Successfully uploaded",Toast.LENGTH_LONG).show()
}
}
catch (e: Exception){
Toast.makeText(this,e.toString(),Toast.LENGTH_LONG).show()
}
}
Alguém pode corrigir meu código por favor e me diga o que há de errado com ele. Muito obrigado
no caso de alguém estar se perguntando se o problema estava no tipo
intent.setType("pdf/*")
a correção é
intent.type="application/pdf"
Este artigo é coletado da Internet.
Se houver alguma infração, entre em [email protected] Delete.
deixe-me dizer algumas palavras