Send email to the selected contact
We need to use the pickContact
method of the navigator.contacts
object to display a list of contacts, let the user pick one and then we need to start a process in the application to send an email to the email address of the contact picked by the user.
The email address returned by the plugin needs to be saved in some temporary object and then this object can be used in the process. So we will create a temporary business object (persistence type – memory) called ContactParam
with the single EmailAddress
attribute. We will then create a process called SendEmailToContact
with the ContactParam
object as its input. The process will then use the SEND
action to send any email to this email address (the email can use tag expressions to retrieve some information from the system – for example, from SystemSettings
or from the logged in user).
To start a process we will use the AwareApp.startProcessWithInit
function. It has the following signature:
startProcessWithInit: function (procName, renderOption, objName, initValues, context)
Here procName is the name of the process to start, renderOption
is where to display the results of the process (we can use null
), objName
is the name of the parameter object, initValues
is the object storing values of the parameter object and context contains additional parameter objects (null
in our case)
So our Javascript can look like this:
navigator.contacts.pickContact (function (contact) { var email = contact.emals[0].value; AwareApp.startProcessWithInit ("SendEmailToContact", null, "ContactParam", { "EmailAddress" : email } }, function (error { console.log (error); } );
Then we just need to add a command of the “Execute Script” type to the mobile menu of the application.