acesso negado ao acessar o armazenamento no android 14

  • Respostas:0
Conta desativada
  • Posts no fórum: 1

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" />
Seja o primeiro a responder