Fix project Android Kotlin - take photo - error - URI NULL

Job ID: 37333645

Budget: €8 – €30 EUR

I have an android project that imports a web page into a webview. this web page contains a form with a file type input. By clicking this input I can start the camera of my Android device to capture the photograph, but when I click onActivityResult and therefore when I retrieve the image I receive a NULL URI. and so I can't send the photo with JS to the web page. So I need help fixing this problem. In maximum 1 day!

//OPEN CAMERA
// WebViewChromeClient personalizzato
val captureIntent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
private inner class MyWebChromeClient : WebChromeClient() {
override fun onShowFileChooser(
webView: WebView?,
filePathCallback: ValueCallback<Array<Uri>>?,
fileChooserParams: WebChromeClient.FileChooserParams?
): Boolean {
mFilePathCallback = filePathCallback

if (captureIntent.resolveActivity(packageManager) != null) {
imageCaptureLauncher.launch(captureIntent)
} else {
// Gestione se la fotocamera non è disponibile
}

return true
}
}

//OUTPUT CAMERA
// Gestisci il risultato dell'attività di scelta del file
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
super.onActivityResult(requestCode, resultCode, data)
if (requestCode > 1) {
if (resultCode == Activity.RESULT_OK) {
// L'immagine è stata catturata con successo
Log.d("Acquisizione Immagine", "Immagine catturata con successo")
if (data != null && data.data != null) {
val imageUri = data.data <-------------------------------------------- URI NULL
Log.d("URI dell'immagine", imageUri.toString())
// Ora puoi procedere con l'invio dell'immagine al server
if (imageUri != null) {
sendImageToService(imageUri)
}
} else {
Log.e("Acquisizione Immagine", "URI dell'immagine nullo")
}
} else if (resultCode == Activity.RESULT_CANCELED) {
// L'utente ha annullato l'acquisizione dell'immagine
Log.d("Acquisizione Immagine", "Acquisizione annullata")
} else {
// Si è verificato un errore durante l'acquisizione dell'immagine
Log.e("Acquisizione Immagine", "Errore durante l'acquisizione")
}
}
}
Related categories: PHP JavaScript Android HTML5 Kotlin