A través de los servicios broker.media.*
, se tiene acceso a funciones relacionadas con la cámara y la galería de imagenes del dispositivo.
METODOS PUBLICOS
Retorna true si el dispositivo tiene cámara, false en caso contrario.
Retorna |
|
Bool |
Retorna true si el dispositivo tiene cámara, false en caso contrario. |
Retorna true si el dispositivo tiene acceso a la cámara, false en caso contrario. La primera vez que se ejecuta este método pregunta por permisos al usuario.
Retorna |
|
Bool |
Retorna true si el dispositivo tiene acceso a la cámara, false en caso contrario. |
Retorna true si tiene acceso a la galería de imágenes del dispositivo, false en caso contrario. La primera vez que se ejecuta este método pregunta por permisos al usuario.
Retorna |
|
Bool |
Retorna true si el dispositivo tiene acceso a la galería, false en caso contrario. |
Abre la cámara con las opciones configuradas en el argumento (Ver MediaCameraConfigure). Al sacar una foto o grabar un video, lo retorna en un MediaFile.
Parámetros |
|
camaraConf |
MediaCameraConfigure: configuración de la cámara. |
Retorna |
|
MediaFile |
Retorna un MediaFile con la foto o el video capturado. |
Excepciones |
|
DeviceWithoutCamera – The device has no camera. |
El dispositivo no tiene cámara. |
CameraAccessDenied – Error trying to access camera without permission. |
Error acceciendo a la cámara sin permisos. |
Abre la galería de imágenes con las opciones configuradas en el argumento (ver MediaGalleryConfigure). Al seleccionar una foto o video, lo retorna en un MediaFile.
Parámetros |
|
galeriaConf |
MediaGalleryConfigure: configuración de la galería. |
Retorna |
|
MediaFile |
Retorna un MediaFile con la foto o el video seleccionado. |
Excepciones |
|
GalleryAccessDenied – Error trying to access media gallery without permission. |
Error acceciendo a la galería sin permisos. |
Remueve todos los archivos temporales que fueron creados por getURL(), en caso de no existir archivos nada sucede.
Excepciones |
|
RemoveTemporaryFilesException – Has been an exception when trying to remove temporary media files. |
En caso de que existan archivos y no se puedan borrar por algun problema en el borrado se lanza esta excepción: Ha habido una excepción tratando de borrar archivos temporales. |
Ejemplo:
Experience Main {
String name label("Main name")
String imagen as Image
Decision rule1 action("MainContext.abrirCamara") label("Abrir cámara")
Decision rule2 action("MainContext.abrirGaleria") label("Abrir galería")
}
RuleContext MainContext {
Rule abrirCamara {
if(broker.media.hasCameraAccess()) {
MediaCameraConfigure mcc = MediaCameraConfigure()
mcc.setOnlyPhotosMode()
//abre la cámara de fotos
MediaFile file = broker.media.open(mcc)
if (file != null) {
imagen = file.getURL()
} else {
//usuario ha cancelado la acción
}
}
}
Rule abrirGaleria {
if(broker.media.hasGalleryAccess()) {
MediaGalleryConfigure mgc = MediaGalleryConfigure()
mgc.setOnlyPhotosGalleryMode()
//abre la galería de imagenes
MediaFile file = broker.media.open(mgc)
if (file != null) {
imagen = file.getURL()
} else {
//usuario ha cancelado la acción
}
}
}
}