Criar um provedor de informações para um contato vinculado

Você pode criar uma classe que estenda a classe abstrata LinkedContactInfoProvider para definir informações sobre um contato vinculado. Estas informações aparecem no aplicativo de contatos no aparelho BlackBerry quando um usuário exibe um contato vinculado a um contato em seu aplicativo.
  1. Importe as classes e interfaces necessárias.
    import net.rim.blackberry.api.pdap.contactlinking.*;
    import net.rim.device.api.ui.*;
    import net.rim.device.api.ui.component.*;
    
  2. Crie uma classe que estenda 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() e retorne o ícone que representa seu aplicativo. O método deve retornar uma imagem para que as informações sejam exibidas para seu contato vinculado quando um usuário exibir um contato no aplicativo de contatos.
    public Image getAppImage()
    {
        return _image;        
    }
    
  4. Implemente getAppName() e retorne o nome de seu aplicativo. O método deve retornar um nome para que as informações sobre o contato vinculado sejam exibidas quando um usuário edita um contato no aplicativo de contatos.
    public String getAppName()
    {        
        return _appName;
    }  
    
  5. Para indicar quais campos LinkedContactInfoProvider (nome de usuário, disponibilidade ou status) são suportados por seu aplicativo, implemente isSupported(). Por padrão, um campo não é suportado. Você deve implementar isSupported() apenas se o seu aplicativo suportar algum dos 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 as informações a serem exibidas para o contato no aplicativo de contatos. O método é invocado pela estrutura quando deve exibir informações para o contato vinculado no aplicativo de contatos. Especifique o nome do contato, status e disponibilidade atual, dependendo de quais campos você definiu como suportados em 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 o provedor de informações com seu aplicativo.
    LinkedContactUtilities.registerLinkedContactInfoProvider(
        new SampleLinkedContactInfoProvider(imageBlue, "Demo App 1"), 
        APPLICATION_ID,
        LinkedContactConstants.COMPOSE_SN_MENU_GROUP);
    
    Este exemplo registra o aplicativo como um aplicativo de rede social, usando o campo COMPOSE_SN_MENU_GROUP em LinkedContactConstants.
Quando um usuário exibe um contato no aplicativo de contatos que é vinculado a um de seus contatos, as informações que você definiu no seu provedor de informações são exibidas na tela de contato. A estrutura determina o layout das informações. Neste exemplo, como o aplicativo foi definido como um aplicativo de rede social, as informações são exibidas na seção Redes Sociais do contato.

Exemplo de código: Criar um provedor de informações para um contato vinculado

Para ver um exemplo de criação de um provedor de informações para um contato vinculado, consulte a classe SampleLinkedContactInfoProvider no aplicativo de exemplo Contact Linking Demo incluído no BlackBerry Java SDK.

Próximo tópico: Lista de tarefas

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