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.
- 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.*;
- 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;
}
- 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;
}
- 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;
}
- 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;
}
}
- 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());
}
}
- 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.
Estas informações foram úteis? Gostaríamos de receber seus comentários.