- Posts no fórum: 1
25/04/2024, 08:50:23 via Web
25/04/2024 08:50:23 via Web
bom dia, alguem esta esta com problema ao acessar o armazenamento? estou tentando acessar usando o androi 14 e o sistema não deixa, ja ativei o modo desenvolvedor para forçar o acesso, nas permissoes no app, ja usei a dica no video =28Knn3FJRfQ, e nada, sempre esta negando. E ja usei todas as 3 permissões possiveis para se acessar, mas funciona normal nos androids anteriores. ja verifiquei tambem se é algum recurso de segurança , e nada, pois no emulador é a mesma coisa.
o xml é so um botão e um log abaixo
kotlin:
package com.example.teste
import android.Manifest
import android.content.pm.PackageManager
import android.net.Uri
import android.os.Build
import android.os.Bundle
import android.provider.Settings
import android.util.Log
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
import androidx.core.app.ActivityCompat
import androidx.core.content.ContextCompat
class MainActivity : AppCompatActivity() {
private lateinit var btnOpenFiles: Button
private lateinit var txtLog: TextView
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
btnOpenFiles = findViewById(R.id.btnOpenFiles)
txtLog = findViewById(R.id.txtLog)
btnOpenFiles.setOnClickListener {
checkFilePermission()
}
}
private fun checkFilePermission() {
if (ContextCompat.checkSelfPermission(
this,
Manifest.permission.READ_EXTERNAL_STORAGE
) == PackageManager.PERMISSION_GRANTED
) {
// Acesso permitido aos arquivos
logMessage("Acesso permitido aos arquivos")
} else {
// Solicitar permissão para acessar arquivos
ActivityCompat.requestPermissions(
this,
arrayOf(Manifest.permission.READ_EXTERNAL_STORAGE),
REQUEST_PERMISSION_READ_EXTERNAL_STORAGE
)
}
}
private fun logMessage(message: String) {
val currentLogs = txtLog.text.toString()
val updatedLogs = if (currentLogs.isEmpty()) {
message
} else {
"$currentLogs\n$message"
}
txtLog.text = updatedLogs
}
override fun onRequestPermissionsResult(
requestCode: Int,
permissions: Array<String>,
grantResults: IntArray
) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == REQUEST_PERMISSION_READ_EXTERNAL_STORAGE) {
if (grantResults.isNotEmpty() && grantResults[0] == PackageManager.PERMISSION_GRANTED) {
// Permissão concedida após solicitação
logMessage("Permissão concedida para acessar arquivos")
} else {
// Permissão negada
logMessage("Permissão negada para acessar arquivos")
}
}
}
companion object {
private const val REQUEST_PERMISSION_READ_EXTERNAL_STORAGE = 101
}
}
manifest:
<!-- Permissão para ler o armazenamento externo -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
Conteúdo editorial recomendado
Com o seu consentimento, o conteúdo externo é carregado aqui.
Ao clicar no botão acima, concorda que o conteúdo externo poderá ser-lhe exibido. Os dados pessoais podem ser transmitidos a fornecedores terceiros no processo. Pode encontrar mais informações sobre isto no nosso Política de Privacidade.