Você está precisando fazer com o que o seu App chame a câmera do seu dispositivo e tire uma foto?
Leia esse post que vou te mostrar como fazer de forma muito simples.
Para “chamarmos” a câmera basta no clique de um botão basta usarmos o código abaixo.
var savePath: String = ""
private fun chamaCamera() {
val intent = Intent(MediaStore.ACTION_IMAGE_CAPTURE)
val filename = "${System.currentTimeMillis()}.jpg" //pode ser substituído pelo padrão de nome que desejar, desde que não se repita
val path = FilesController.getPath(filename)
savePath = path.absolutePath
val attachFile = File(savePath)
val authority = BuildConfig.APPLICATION_ID + ".provider"
intent.putExtra(
MediaStore.EXTRA_OUTPUT,
FileProvider.getUriForFile(
this,
authority, attachFile
)
)
startActivityForResult(intent, REQUEST_CAMERA)
}
Após termos “chamado” a câmera e tirado a foto que queremos, agora precisamos recuperar essa foto, para isso usamos o código abaixo.
override fun onActivityResult(requestCode: Int, resultCode: Int, intent: Intent?) {
super.onActivityResult(requestCode, resultCode, intent)
if (requestCode == REQUEST_CAMERA && Activity.RESULT_OK == resultCode) {
// o caminho da imagem vai estar na variável "savePath"
}
}
0 comentários