Obtener información de contactos almacenados en teléfono Windows Phone 7

En este post aprenderemos a buscar y obtener la información de los contactos almacenados en un teléfono con Windows Phone 7.

Para hacer esto, usaremos la clase Contacts, definida en el namespace Microsoft.Phone.UserData, la cual provee eventos y métodos que nos permiten interactuar con los datos de contactos que están almacenados en el teléfono con WP7.

Para comenzar, crearemos en Visual Studio 2010 una sencilla solución con un proyecto de Windows Phone 7. Al formulario inicial le adicionaremos un botón y un objeto ListBox, como se aprecia en la siguiente imagen:

wp7_getcontact_01

A continuación, implementaremos el método del evento click del botón “Buscar”, para recuperar los contactos almacenados en el teléfono

        private void btnBuscar_Click(object sender, RoutedEventArgs e)
        {
            Contacts contactos = new Contacts();
            contactos.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(contactos_SearchCompleted);
            contactos.SearchAsync(string.Empty, FilterKind.None, null);
        }

En este método tendremos tres instrucciones, que realizan lo siguiente:

1. Instanciar el objeto de tipo Contacts mencionado a usar para recuperar la información de los contactos.
2. Como el método de búsqueda es asíncrono, se hace necesario matricular un método para el evento que se ejecutará cuando la búsqueda finalice (SearchCompleted).
3. Invocar el método de búsqueda de contactos. Para el ejemplo buscaremos todos los contactos almacenados en el teléfono, y por ello se envían los parámetros de la forma como se ve en la imagen. El método searchAsync tiene varios patrones de búsqueda (buscar por nombre, por mail, etc.), que se especifican mediante el enumerado FilterKind, y también se le puede enviar un parámetro para buscar coincidencias con el filtro definido. En este enlace se puede consultar más información al respecto:http://msdn.microsoft.com/en-us/library/microsoft.phone.userdata.contacts.searchasync%28v=vs.92%29.aspx

Posteriormente, implementaremos el método que se ejecutará al completarse la búsqueda de contactos (mencionado en el numeral 2 anterior). Lo que haremos en este método es obtener el resultado de la búsqueda y mostrarlo en el ListBox que incluimos en el formulario de la aplicación.

        void contactos_SearchCompleted(object sender, ContactsSearchEventArgs e)
        {
            foreach (var item in e.Results)
            {
                lstContactos.Items.Add(string.Format("Nombre: {0}; Teléfono: {1}", item.DisplayName, item.PhoneNumbers.FirstOrDefault()));
            }
        }

Solo adicionaremos el nombre y el número telefónico por defecto, pero también se puede acceder a otros datos que tenga el contacto, como la dirección, e-mail, empresa, etc.
Una vez completado esto, ejecutamos la aplicación en el emulador de Windows Phone 7. En el emulador se desplegará información de unos contactos de prueba que provee el mismo.

wp7_getcontact_04

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: