Entiendo que para propositos de simplicidad estas definiendo el path donde se guarda la imagen, pero lo correcto es obtener la ruta con
getExternalFilesDir(Environment.DIRECTORY_PICTURES)
o usando la api de MediaStore
Introducción a HMS Core
Pasos para el desarrollo de aplicaciones con Huawei
Debugging en la nube con Huawei
¿Qué es HMS Core?
Creación del proyecto en Android Studio
Creación de la aplicación en App Gallery Connect
Configuración de firma SHA-256
Configuración de APIs
Configuración de Android Studio y Gradle
Probando la sincronización de la aplicación
Autenticación con HMS Account Kit
Diseñando nuestra pantalla de login
Agregando los métodos de autenticación
Verificando la autenticación
Agregando el método de logout
Construyendo nuestra cámara de selfies con HMS ML Kit
Machine Learning con Huawei
Agregando los permisos para acceder a la cámara
Diseñando la pantalla personalizada de la cámara
Creando la capa de gráficos de la cámara
Creando el layout para nuestro rostro
Creando el layout del lente de la cámara
Creando nuestra actividad de cámara
Agregando nuestra cámara personalizada a la actividad
Agregando los métodos de verificación de rostro
Agregando la detección de rostro y sonrisa individual
Agregando la detección de rostro y sonrisa grupal
Tomar nuestra imagen y agregar un método de re-toma de foto
Guardar la foto en nuestra galeria
Aplicando notificaciones push con HMS Push kit
Crear el servicio de push notifications
Agregar el servicio de HMS Push kit
Verificar la conectividad de las notificaciones en App Gallery Connect
Conclusiones y consejos
Tips y solución de inconvenientes frecuentes
¿Qué más tiene Huawei?
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Juan Camilo Sandoval
Aportes 6
Preguntas 0
Entiendo que para propositos de simplicidad estas definiendo el path donde se guarda la imagen, pero lo correcto es obtener la ruta con
getExternalFilesDir(Environment.DIRECTORY_PICTURES)
o usando la api de MediaStore
Yo tengo un dispositivo con Android 11 y no me funcionó la parte de guardar la imagen, debido a scoped storage y shared storage, las nuevas formas de almacenar los archivos que son obligatoria a partir de Android 10. Sà se guarda la imagen pero se guarda dentro del directorio de la app. Para guardarla en el directorio de imágenes del dispositivo debe hacerse de la siguiente manera con MediaStore
:
// LiveFaceCameraActivity.kt
@RequiresApi(Build.VERSION_CODES.Q)
private fun saveToSharedStorage(bitmap: Bitmap): String {
val dateInMilis = System.currentTimeMillis()
val filename = "HSelfieCamera-${dateInMilis}.jpg"
val collection = MediaStore.Images.Media.getContentUri(MediaStore.VOLUME_EXTERNAL_PRIMARY)
val newImage: ContentValues = ContentValues().apply {
put(MediaStore.Images.Media.DISPLAY_NAME, filename)
put(MediaStore.MediaColumns.MIME_TYPE, "image/jpeg")
put(MediaStore.MediaColumns.DATE_ADDED, dateInMilis)
put(MediaStore.MediaColumns.DATE_MODIFIED, dateInMilis)
put(MediaStore.MediaColumns.SIZE, bitmap.byteCount)
put(MediaStore.MediaColumns.WIDTH, bitmap.width)
put(MediaStore.MediaColumns.HEIGHT, bitmap.height)
}
val newImageUri = contentResolver.insert(collection, newImage)
contentResolver.openOutputStream(newImageUri!!, "w").use {
bitmap.compress(Bitmap.CompressFormat.JPEG, 100, it)
}
newImage.clear()
contentResolver.update(newImageUri, newImage, null, null)
return filename
}
Hasta ahora estoy muy satisfecho con la forma que esta explicando el profesor sus clases, mostrando los errores y la manera de corregirlos.
IncreÃble las funciones de huawei
Me pareció muy interesante toda la validación establecida para el path del directorio Camera.
Considero que es de mucho beneficio para los estudiantes aprender a determinar todos los filtros posibles siempre al desarrollar.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?