sincronizar sim respaldar phone pasar lumia los exportar cómo contactos c# windows-phone-7 xna

c# - sim - Integración de la lista de contactos para el teléfono con Windows 7 en la aplicación



sincronizar contactos windows phone (4)

¿Cómo tomo la lista de contactos de un teléfono con Windows 7 para usar dentro de una aplicación de teléfono win7?


Es posible en Windows Phone OS 7.1

Aquí está el artículo de MSDN sobre cómo acceder a los datos de la lista de contactos para Windows Phone

Y aquí hay un fragmento de código del artículo:

using Microsoft.Phone.UserData; private void ButtonContacts_Click(object sender, RoutedEventArgs e) { Contacts cons = new Contacts(); //Identify the method that runs after the asynchronous search completes. cons.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(Contacts_SearchCompleted); //Start the asynchronous search. cons.SearchAsync(String.Empty, FilterKind.None, "Contacts Test #1"); } void Contacts_SearchCompleted(object sender, ContactsSearchEventArgs e) { //Do something with the results. MessageBox.Show(e.Results.Count().ToString()); }


Desafortunadamente, la API de contactos no está expuesta en la versión actual de la API. Lo más cercano que puede obtener es usar algo del espacio de nombres Tareas:
http://msdn.microsoft.com/en-us/library/ff428753(v=VS.92).aspx

Los dos que puede buscar son PhoneNumberChooseTask y EmailAddressChooserTask .

alternativamente, dado que todos los teléfonos WP7 usan los contactos activos para sincronizarse por aire, siempre puedes investigar haciendo una solicitud web y accediendo a la API de contactos de Windows Live . Entiendo que probablemente esto no sea lo que estás buscando, pero probablemente sea la mejor opción ahora.


Puede hacer que el usuario seleccione un contacto de su lista de contactos de uno en uno usando PhoneNumberChooserTask (ejemplo, SDK 7.0):
http://msdn.microsoft.com/en-us/library/ff769543(v=vs.92).aspx#BKMK_Phone

Además, en la versión Beta del nuevo Windows Phone SDK 7.1 (también conocido como Mango) ahora se puede acceder a todos los contactos del teléfono:
http://www.ginktage.com/2011/05/how-to-retreive-all-contacts-from-windows-phone-7-using-c/

Nota: Escuché que MS no permitirá que las aplicaciones desarrolladas en Mango se publiquen en la tienda de aplicaciones hasta el otoño de 2011.


Con la versión anterior del Windows Phone 7 SDK, solo fue posible recuperar el número de teléfono o la dirección de correo electrónico y algunos más con los Selector. Ahora, con el 7.1 SDK Mango, es posible recuperar más información del contacto, como Address , DisplayName , EmailAddresses , etc.

Le mostraré cómo recuperar todos los contactos de Windows Phone 7 usando C #.

La clase de Contacts se define en el espacio de nombres Microsoft.Phone.UserData y se extiende desde PhoneDataSharingContext y proporciona algunos métodos y eventos para interactuar con los datos de contacto de un usuario.

public MainPage() { InitializeComponent(); Contacts objContacts = new Contacts(); objContacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(objContacts_SearchCompleted); objContacts.SearchAsync(string.Empty, FilterKind.None, null); } void objContacts_SearchCompleted(object sender, ContactsSearchEventArgs e) { foreach (var result in e.Results) { lst.Add("Name : " + result.DisplayName + " ; Phone Number : " + result.PhoneNumbers.FirstOrDefault()); } }

Contacts también pueden permitir al usuario buscar el contacto con el método SearchAsync . FilterKind determina el campo que se utilizará para filtrar como PhoneNumber , DisplayName o EmailAddress etc. Cuando es None , puede mostrar todos los contactos.

Tenga en cuenta que he usado el emulador ya que actualmente no tengo el dispositivo con Mango.

public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { InitializeComponent(); Contacts objContacts = new Contacts(); objContacts.SearchCompleted += new EventHandler<ContactsSearchEventArgs>(objContacts_SearchCompleted); objContacts.SearchAsync(string.Empty, FilterKind.None, null); } void objContacts_SearchCompleted(object sender, ContactsSearchEventArgs e) { var ContactsData = from m in e.Results select new MyContacts { DisplayName = m.DisplayName, PhoneNumber = m.PhoneNumbers.FirstOrDefault() }; var MyContactsLst = from contact in ContactsData group contact by contact.DisplayName into c orderby c.Key select new Group<MyContacts>(c.Key, c); longlist1.ItemsSource = ContactsData; } } public class MyContacts { public string DisplayName { get; set; } public ContactPhoneNumber PhoneNumber { get; set; } }