A través de los servicios broker.share.*, se tiene acceso a funciones que permiten compartir texto, imágenes, videos, texto e imágen, invocando la acción de compartir de cada plataforma; así como también compartir texto vía email a distintos destinatarios simultáneamente.

METODOS PUBLICOS

void broker.share.shareText(String texto)

Comparte texto usando los controles nativos de cada plataforma.

Argumentos  
texto String: Texto a ser compartido.
Excepciones  
InvalidUIAction – Error when trying to execute shareText action outside application navigation stack. Error tratando de ejecutar el método shareText fuera de la pila de navegación.

void broker.share.shareMediaFile(MediaFile mediaFile)

Comparte una foto o video a través de un MediaFile usando los controles nativos de cada plataforma.

Argumentos  
mediaFile MediaFile: Foto o video a ser compartido.
Excepciones  
InvalidUIAction – Error when trying to execute shareMediaFile action outside application navigation stack. Error tratando de ejecutar el método shareMediaFile fuera de la pila de navegación.

void broker.share.shareTextAndMediaFile(String texto, MediaFile mediaFile)

Comparte texto y una foto o video a través de un MediaFile usando los controles nativos de cada plataforma.

Argumentos  
texto String: Texto a ser compartido.
mediaFile MediaFile: foto o video a ser compartido.
Excepciones  
InvalidUIAction – Error when trying to execute shareTextAndMediaFile action outside application navigation stack. Error tratando de ejecutar el metodo shareTextAndMediaFile fuera de la pila de navegación.

Bool broker.share.canShareByEmail()

Retorna true si el dispositivo tiene una cuenta de email configurada.

Retorna  
Bool Retorna true si el dispositivo tiene una cuenta de email configurada.

void broker.share.shareByEmail(Array destinatarios, String asunto, String cuerpoEmail)

Abre la aplicación de mail configurada con los campos de los argumentos: lista de destinatarios, asunto y el cuerpo del email en texto.

Argumentos  
destinatario Array: Direcciones de email de los destinatarios.
asunto String: Asunto del email.
cuerpoEmail String: Cuerpo del email.
Excepciones  
ShareByMailConfigError – User has not set up the device for sending email. El usuario no ha configurado el dispositivo para enviar emails.
InvalidUIAction – Error when trying to execute shareByEmail action outside application navigation stack. Error tratando de ejecutar el método shareByEmail fuera de la pila de navegación.

Ejemplo:

Experience Main {
    String name label("Main name")
    Decision rule1 action("MainContext.shareText")         label("Compartir texto")
    Decision rule2 action("MainContext.shareMediaFile")    label("Compartir imagen")
    Decision rule3 action("MainContext.shareTextAndMedia") label("Compartir texto e imagen")
    Decision rule4 action("MainContext.shareEmail")        label("Compartir por email")
}

RuleContext MainContext {

    Rule shareText {

        broker.share.shareText("Hola, estoy compartiendo este texto!")
    }

    Rule shareMediaFile {

        MediaGalleryConfigure mgc = MediaGalleryConfigure()
        MediaFile mf = broker.media.open(mgc)
        broker.share.shareMediaFile(mf)
    }

    Rule shareTextAndMedia {

        String texto = "Este es el subtitulo de la imagen!"
        MediaGalleryConfigure mgc = MediaGalleryConfigure()
        MediaFile mf = broker.media.open(mgc)
        broker.share.shareTextAndMediaFile(texto, mf)
    }

    Rule shareEmail {

        if(broker.share.canShareByEmail()) {

            Array<String> destinatarios = []
            destinatarios.add("pepito@gmail.com")
            destinatarios.add("juan@gmail.com")
            broker.share.shareByEmail(destinatarios, "Asunto importante!", "Ha habido un problema en ...")
        }

    }
}