Abrir o BlackBerry Maps usando informações de um contato

Você pode abrir o BlackBerry Maps para exibir um local em um mapa usando as informações de endereço de um contato no aplicativo de contatos no aparelho BlackBerry.
  1. Importe as classes e interfaces necessárias.
    import net.rim.blackberry.api.invoke.*;
    import javax.microedition.pim.*;
  2. Crie uma classe e um construtor para serem usados para invocar o BlackBerry Maps.
    public class invokeMaps
    {
        public invokeMaps ()
        {
        }
    }
  3. No construtor, carregue uma instância de um objeto ContactList do aparelho BlackBerry. Crie um contato usando a classe Contact. Preencha o Contact com o nome e endereço do contato.
    ContactList contacts = null;
    try
    {
        contacts = (ContactList)
          PIM.getInstance().openPIMList(PIM.CONTACT_LIST, PIM.READ_ONLY);
    }
    catch (PIMException e)
    {
        return;
    }
    Contact contact = contacts.createContact();
    contact.addString(Contact.FORMATTED_NAME, PIMItem.ATTR_NONE,
      "Ms. Andrea Aime");
    contact.addString(Contact.FORMATTED_ADDR, PIMItem.ATTR_NONE,
      "455 Phillip St. Waterloo ON N2L3X2 Canada");
    String[] name = new String[ contacts.stringArraySize( Contact.NAME ) ];
    name[ Contact.NAME_GIVEN ] = "Andrea";
    name[ Contact.NAME_FAMILY ] = "Aime";
    name[ Contact.NAME_PREFIX ] = "Ms.";
    String[] addr = new String[ contacts.stringArraySize( Contact.ADDR ) ];
    addr[ Contact.ADDR_STREET ] = "455 Phillip St";
    addr[ Contact.ADDR_LOCALITY ] = "Waterloo";
    addr[ Contact.ADDR_REGION ] = "ON";
    addr[ Contact.ADDR_POSTALCODE ] = "N2L3X2";
    addr[ Contact.ADDR_COUNTRY ] = "Canada";
  4. No construtor, crie um objeto MapsArguments fornecendo o objeto Contact com um offset zero. Invoque Invoke.invokeApplication() para abrir o BlackBerry Maps. Passe no objeto MapsArguments.
    MapsArguments mapsArgs = new MapsArguments(contact, 0);
    Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, mapsArgs);

Exemplo de código: Invocar o BlackBerry Maps usando informações de um contato

import net.rim.blackberry.api.invoke.*;
import javax.microedition.pim.*;
public class invokeMaps
{
    public invokeMaps()
    {
        ContactList contacts = null;
        try
        {
            contacts = (ContactList) PIM.getInstance().openPIMList
             (PIM.CONTACT_LIST, PIM.READ_ONLY);
        }
        catch (PIMException e)
        {
            return;
        }
        Contact contact = contacts.createContact();
        contact.addString(Contact.FORMATTED_NAME, PIMItem.ATTR_NONE,
          "Ms. Andrea Aime");
        contact.addString(Contact.FORMATTED_ADDR, PIMItem.ATTR_NONE,
          "455 Phillip St. Waterloo ON N2L3X2 Canada");
        String[] name = new String[ contacts.stringArraySize( Contact.NAME ) ];
        name[ Contact.NAME_GIVEN ] = "Andrea";
        name[ Contact.NAME_FAMILY ] = "Aime";
        name[ Contact.NAME_PREFIX ] = "Ms.";
        String[] addr = new String[ contacts.stringArraySize( Contact.ADDR ) ];
        addr[ Contact.ADDR_STREET ] = "455 Phillip St";
        addr[ Contact.ADDR_LOCALITY ] = "Waterloo";
        addr[ Contact.ADDR_REGION ] = "ON";
        addr[ Contact.ADDR_POSTALCODE ] = "N2L3X2";
        addr[ Contact.ADDR_COUNTRY ] = "Canada";
        MapsArguments mapsArgs = new MapsArguments(contact, 0);
        Invoke.invokeApplication(Invoke.APP_TYPE_MAPS, mapsArgs);
    }
}

Estas informações foram úteis? Gostaríamos de receber seus comentários.