Crear un proveedor de información para un contacto vinculado

Puede crear una clase que amplíe la clase LinkedContactInfoProvider abstracta para definir información sobre un contacto vinculado. Esta información aparece en la aplicación Contactos del dispositivo BlackBerry cuando un usuario ve un contacto vinculado a un contacto de su aplicación.
  1. Importe las clases y las interfaces necesarias.
    import net.rim.blackberry.api.pdap.contactlinking.*;
    import net.rim.device.api.ui.*;
    import net.rim.device.api.ui.component.*;
    
  2. Cree una clase que amplíe LinkedContactInfoProvider.
    public class SampleLinkedContactInfoProvider extends LinkedContactInfoProvider
    {
        private Image _image;
        private String _appName;
        public SampleLinkedContactInfoProvider(Image image, String appName)    
        {        
            _image = image;
            _appName = appName;                
        }
    
  3. Implemente getAppImage() y devuelva el icono que representa su aplicación. El método debe devolver una imagen para que aparezca cualquier información sobre su contacto vinculado cuando un usuario vea un contacto en la aplicación de Contactos.
    public Image getAppImage()
    {
        return _image;        
    }
    
  4. Implemente getAppName() y devuelva el nombre de su aplicación. El método debe devolver un nombre para que aparezca la información sobre el contacto vinculado cuando un usuario edite un contacto en la aplicación Contactos.
    public String getAppName()
    {        
        return _appName;
    }  
    
  5. Para indicar los campos LinkedContactInfoProvider (nombre de usuario, disponibilidad o estado) que admite su aplicación, implemente isSupported(). De forma predeterminada, los campos no se admiten. Debe implementar isSupported() sólo si su aplicación admite cualquiera de los campos.
    public boolean isSupported(int capability)
    {
        switch(capability)
        {
            case LinkedContactInfoProvider.STATUS:
            case LinkedContactInfoProvider.AVAILABILITY:
            case LinkedContactInfoProvider.USER_NAME:
                return true;
            default:
                return false;
        }
    }
    
  6. Implemente requestFields() para especificar la información para mostrar para el contacto en la aplicación Contactos. El método es invocado por el marco cuando necesita mostrar información para el contacto vinculado en la aplicación Contactos. Especifique el nombre del contacto, el estado y la disponibilidad actual, en función de los campos que haya definido como admitidos en isSupported().
    public void requestFields(String contactID, final LinkedContactCallback callback, int fields)
    {        
        LinkableContact contact = ContactListScreen.getUserForID(contactID);
        if((fields & LinkedContactInfoProvider.AVAILABILITY) != 0)
        {
            callback.setAvailability(LinkedContactInfoProvider.AVAILABILITY_ONLINE);
        }
        if((fields & LinkedContactInfoProvider.STATUS) != 0)
        {            
            callback.setStatusString("<Sample contact status>");
        }       
        if((fields & LinkedContactInfoProvider.USER_NAME) != 0)
        {
            callback.setUserName(contact.toString());
        }
    }    
    
  7. Registre al proveedor de información con su aplicación.
    LinkedContactUtilities.registerLinkedContactInfoProvider(
        new SampleLinkedContactInfoProvider(imageBlue, "Demo App 1"), 
        APPLICATION_ID,
        LinkedContactConstants.COMPOSE_SN_MENU_GROUP);
    
    Este ejemplo registra la aplicación como una aplicación de redes sociales utilizando el campo COMPOSE_SN_MENU_GROUP en LinkedContactConstants.
Cuando un usuario muestra un contacto de la aplicación Contactos vinculado a uno de los suyos, la información que definió en el proveedor de información se visualiza en la pantalla del contacto. El marco determina la disposición de la información. En este ejemplo, dado que la aplicación fue definida como una aplicación de red social, la información se muestra en la sección de Redes sociales del contacto.

Ejemplo de código: Crear un proveedor de información para un contacto vinculado

Para consultar un ejemplo de creación de un proveedor de información para un contacto vinculado, consulte la clase SampleLinkedContactInfoProvider en la aplicación de ejemplo de demostración de vinculación de contactos que se incluye enBlackBerry Java SDK.

Tema siguiente: Lista de tareas

¿Le ha resultado útil esta información? Envíenos sus comentarios.