Créer un fournisseur d'informations pour un contact lié

Vous pouvez créer une classe développant la classe abstraite LinkedContactInfoProvider pour définir des informations à propos d'un contact lié. Ces informations s'affichent dans l'application Contacts sur le terminal BlackBerry lorsqu'un utilisateur affiche un contact qui est lié à un contact dans votre application.
  1. Importez les classes et les interfaces requises.
    import net.rim.blackberry.api.pdap.contactlinking.*;
    import net.rim.device.api.ui.*;
    import net.rim.device.api.ui.component.*;
    
  2. Créez une classe développant LinkedContactInfoProvider.
    public class SampleLinkedContactInfoProvider extends LinkedContactInfoProvider
    {
        private Image _image;
        private String _appName;
        public SampleLinkedContactInfoProvider(Image image, String appName)    
        {        
            _image = image;
            _appName = appName;                
        }
    
  3. Implémentez getAppImage() et renvoyez l'icône représentant votre application. La méthode doit renvoyer une image pour que les informations de votre contact lié lorsqu'un utilisateur affiche un contact dans l'application Contacts.
    public Image getAppImage()
    {
        return _image;        
    }
    
  4. Implémentez getAppName() et renvoyez le nom de votre application. La méthode doit renvoyer un nom pour que les informations du contact lié s'affichent lorsqu'un utilisateur modifie un contact dans l'application Contacts.
    public String getAppName()
    {        
        return _appName;
    }  
    
  5. Pour indiquer quels sont les champs LinkedContactInfoProvider (nom d'utilisateur, disponibilité ou état) pris en charge par votre application, implémentez isSupported(). Par défaut, un champ n'est pas pris en charge. Vous devez implémenter isSupported() uniquement si votre application prend en charge ces champs.
    public boolean isSupported(int capability)
    {
        switch(capability)
        {
            case LinkedContactInfoProvider.STATUS:
            case LinkedContactInfoProvider.AVAILABILITY:
            case LinkedContactInfoProvider.USER_NAME:
                return true;
            default:
                return false;
        }
    }
    
  6. Implémentez requestFields() pour indiquez les informations à afficher pour le contact dans l'application Contacts. La méthode est appelée par le cadre lorsqu'il doit afficher des informations pour le contact lié dans l'application Contacts. Indiquez le nom du contact, l'état et la disponibilité actuelle, selon les champs que vous avez définis comme pris en charge dans 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. Enregistrez le fournisseur d'informations avec votre application.
    LinkedContactUtilities.registerLinkedContactInfoProvider(
        new SampleLinkedContactInfoProvider(imageBlue, "Demo App 1"), 
        APPLICATION_ID,
        LinkedContactConstants.COMPOSE_SN_MENU_GROUP);
    
    Cet exemple enregistre l'application en tant qu'application de réseau social, à l'aide du champ COMPOSE_SN_MENU_GROUP dans LinkedContactConstants.
Lorsqu'un utilisateur affiche un contact dans l'application Contacts qui est lié à l'un de vos contacts, les informations que vous avez définies dans votre fournisseur d'informations affichent sur l'écran de contact. Le cadre détermine la mise en page des informations. Dans cet exemple, comme l'application a été définie comme application de réseau social, les informations s'affichent dans la section Réseaux sociaux du contact.

Échantillon de code : création d'un fournisseur d'informations pour un contact lié

Pour consulter un exemple de création d'un fournisseur d'informations pour un contact lié, reportez-vous à la classe SampleLinkedContactInfoProvider dans l'exemple d'application Contact Linking Demo inclus dans BlackBerry Java SDK.

Sujet suivant: Liste des tâches

Ces informations vous ont-elles été utiles ? Envoyez-nous vos commentaires.