android / android/camera-samples
How should I requestPermissions again?
- Lingua principale
- Kotlin
- Stelle
- 5.5k
- Fork
- 2.4k
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Descrizione
Hello, I am facing issues regarding permissions. For instance, right now if the user declines to provide permission you are showing a Toast. I tried to request permissions again, but I received a crash(java.lang.StackOverflowError: stack size 8192KB). Can you suggest the correct approach on how to ask for permissions again?
` override fun onRequestPermissionsResult(
requestCode: Int, permissions: Array, grantResults: IntArray) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults)
if (requestCode == PERMISSIONS_REQUEST_CODE) {
if (PackageManager.PERMISSION_GRANTED == grantResults.firstOrNull()) {
// Take the user to the success fragment when permission is granted
Toast.makeText(context, "Permission request granted", Toast.LENGTH_LONG).show()
Navigation.findNavController(requireActivity(), R.id.fragment_container).navigate(
PermissionsFragmentDirections.actionPermissionsToCamera())
} else {
requestPermissions(PERMISSIONS_REQUIRED, PERMISSIONS_REQUEST_CODE)
Toast.makeText(context, "Permission request denied", Toast.LENGTH_LONG).show()
}
}
}
`
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia dal callback onRequestPermissionsResult e dalla relativa chiamata a requestPermissions mostrati nell’issue, quindi leggi il comportamento del callback delle autorizzazioni runtime di Android. Riproduci il percorso di rifiuto e traccia lo StackOverflowError. Il lavoro è completato quando il comportamento di retry è chiaramente stabilito e il percorso di rifiuto non ricorre più fino a causare uno stack overflow.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- android, kotlin
- Ambito
- mobile-dev, security
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 25/100