Erstellen eines Informationsanbieters für einen verknüpften Kontakt

Sie können eine Klasse erstellen, die die abstrakte LinkedContactInfoProvider-Klasse erweitert, um Informationen zu einem verknüpften Kontakt zu definieren. Diese Informationen werden in der Kontaktanwendung auf dem BlackBerry-Gerät angezeigt, wenn ein Benutzer einen Kontakt anzeigt, der mit einem Kontakt in Ihrer Anwendung verknüpft ist.
  1. Importieren Sie die erforderlichen Klassen und Schnittstellen.
    import net.rim.blackberry.api.pdap.contactlinking.*;
    import net.rim.device.api.ui.*;
    import net.rim.device.api.ui.component.*;
    
  2. Erstellen Sie eine Klasse, die LinkedContactInfoProvider erweitert.
    public class SampleLinkedContactInfoProvider extends LinkedContactInfoProvider
    {
        private Image _image;
        private String _appName;
        public SampleLinkedContactInfoProvider(Image image, String appName)    
        {        
            _image = image;
            _appName = appName;                
        }
    
  3. Implementieren Sie getAppImage(), und geben Sie das Symbol zurück, das Ihre Anwendung darstellt. Die Methode muss eine Grafik zurückgeben, damit Informationen für Ihren verknüpften Kontakt angezeigt werden, wenn ein Benutzer einen Kontakt in der Kontaktanwendung anzeigt.
    public Image getAppImage()
    {
        return _image;        
    }
    
  4. Implementieren Sie getAppName(), und geben Sie den Namen Ihrer Anwendung zurück. Die Methode muss einen Namen zurückgeben, um Informationen zum verknüpften Kontakt anzuzeigen, wenn ein Benutzer einen Kontakt in der Kontaktanwendung bearbeitet.
    public String getAppName()
    {        
        return _appName;
    }  
    
  5. Um anzuzeigen, welche LinkedContactInfoProvider-Felder (Benutzername, Verfügbarkeit, oder Status) die Ihre Anwendung unterstützt, implementieren Sie isSupported(). Standardmäßig wird ein Feld nicht unterstützt. Sie müssen isSupported() nur implementieren, wenn Ihre Anwendung eines der Felder unterstützt.
    public boolean isSupported(int capability)
    {
        switch(capability)
        {
            case LinkedContactInfoProvider.STATUS:
            case LinkedContactInfoProvider.AVAILABILITY:
            case LinkedContactInfoProvider.USER_NAME:
                return true;
            default:
                return false;
        }
    }
    
  6. Implementieren Sie requestFields(), um die Informationen festzulegen, die für den Kontakt in der Kontaktanwendung angezeigt werden sollen. Die Methode wird vom Framework aufgerufen, wenn es Informationen für den verknüpften Kontakt in der Kontaktanwendung anzeigen muss. Legen Sie den Namen des Kontakts, den Status und die aktuelle Verfügbarkeit entsprechend der Felder fest, die gemäß Ihrer Definition in isSupported() unterstützt werden.
    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. Registrieren Sie den Informationsanbieter in Ihrer Anwendung.
    LinkedContactUtilities.registerLinkedContactInfoProvider(
        new SampleLinkedContactInfoProvider(imageBlue, "Demo App 1"), 
        APPLICATION_ID,
        LinkedContactConstants.COMPOSE_SN_MENU_GROUP);
    
    Dieses Beispiel registriert die Anwendung mithilfe des COMPOSE_SN_MENU_GROUP-Felds als Social Networking-Anwendung in LinkedContactConstants..
Wenn ein Benutzer einen Kontakt in der Kontaktanwendung anzeigt, der mit einem Ihrer Kontakte verknüpft ist, werden die von Ihnen im Informationsanbieter definierten Informationen auf dem Kontaktbildschirm angezeigt. Das Framework bestimmt das Layout der Informationen. In diesem Beispiel werden die Informationen im Social Network Abschnitt des Kontakts angezeigt, da die Anwendung als Social Networking-Anwendung definiert wurde.

Codebeispiel: Erstellen eines Informationsanbieters für einen verknüpften Kontakt

Ein Beispiel der Erstellung eines Informationsanbieters für einen verknüpften Kontakt erhalten Sie im Abschnitt zur SampleLinkedContactInfoProvider-Klasse in der Beispielanwendung zur Kontaktverknüpfung, die im BlackBerry Java SDK enthalten ist.

Nächstes Thema: Aufgabenliste

Waren diese Informationen hilfreich? Senden Sie uns Ihren Kommentar.