如何獲取Windows 7手機的聯繫人列表以便在win7手機應用程序中使用?將Windows 7手機的聯繫人列表集成到應用程序中
回答
不幸的是,聯繫人API未在當前版本的API中公開。你可以使用的東西從任務命名空間得到最接近:
http://msdn.microsoft.com/en-us/library/ff428753(v=VS.92).aspx
兩個你可以看看是PhoneNumberChooseTask和EmailAddressChooserTask。
或者,由於所有WP7手機都使用實時聯繫人進行無線同步,因此您可以隨時調查網絡請求並訪問Windows Live Contacts API。我明白這可能不是你要找的東西,但它現在可能是最好的選擇。
您可以讓用戶通過使用PhoneNumberChooserTask(例如,SDK 7.0),然後從他們的聯繫人列表一次一個聯繫人:
http://msdn.microsoft.com/en-us/library/ff769543(v=vs.92).aspx#BKMK_Phone
此外,在新的Windows Phone SDK 7.1版的Beta (又名芒果)現在可以訪問所有手機的聯繫人:
http://www.ginktage.com/2011/05/how-to-retreive-all-contacts-from-windows-phone-7-using-c/
注:我聽說MS不允許在芒果開發的應用被釋放到應用商店,直到2011年秋季
這是一個在Windows手機OS可行7.1
這裏有How To Access Contact List Data For Windows Phone
MSDN文章在這裏是一個從文章的代碼片段:
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());
}
隨着Windows Phone 7的SDK的早期版本,它只能通過選擇器檢索電話號碼或電子郵件地址以及其他信息。現在,隨着7.1芒果SDK,它可以從聯繫人檢索更多的信息,如Address
,DisplayName
,EmailAddresses
等
我會告訴你如何檢索使用C#從Windows Phone 7的所有聯繫人。
Contacts
類在命名空間Microsoft.Phone.UserData
中定義,並從PhoneDataSharingContext
擴展並提供了一些用於與用戶的聯繫人數據交互的方法和事件。
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
也可以使得用戶能夠搜索與SearchAsync
方法接觸。 FilterKind
確定將用於過濾的字段,如PhoneNumber
,DisplayName
或EmailAddress
等。如果是None
,則它可以列出所有聯繫人。
請注意,我已經使用了仿真器,因爲我目前沒有芒果設備。
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; }
}
- 1. 無法在Windows 8.1手機應用程序,就像聯繫人列表
- 2. 手機在自己的應用程序中的聯繫人
- 3. 如何將聯繫人添加到Android手機聯繫人列表?
- 4. 將Aweber集成到聯繫表單或聯繫表單7(Wordpress)
- 5. 如何在Android手機中撥打聯繫人應用程序
- 6. 聯繫人列表程序
- 7. 將智能手機應用程序部署到Windows XP/7
- 8. 集成我的應用程序,其中聯繫人管理器
- 9. 獲取Windows 10手機上的聯繫人列表
- 10. 我在電話聯繫人列表中的應用程序聯繫人
- 11. 選擇從聯繫人列表中的聯繫人崩潰的應用程序
- 12. windows 8手機應用程序的聯繫人選擇器命名空間
- 13. 如何將應用程序集成到手機設置中?
- 14. 如何將聯繫人列表與手機號碼整合到WP7應用程序中?
- 15. Windows 7中的Windows手機應用程序PC
- 16. 如何在Windows Phone 8.1 RT中將聯繫人添加到我的應用程序聯繫人商店後獲取所有聯繫人列表?
- 17. Windows 8.1聯繫人列表
- 18. 如何在反應本機應用程序中訪問聯繫人列表
- 19. 如何訪問Windows Phone 7中的聯繫人列表?
- 20. 在Android應用程序中將列表視圖設置爲聯繫人列表
- 21. 將自定義驗證應用到聯繫人表單7
- 22. 手機網站聯繫人
- 23. 將聯繫人添加到列表中
- 24. 黑莓手機:程序化「添加到聯繫人」
- 25. Windows手機應用程序
- 26. 將事件插入到C#中的應用程序聯繫人#
- 27. Android應用:從聯繫人列表中檢索「我」聯繫人
- 28. Android 2.1手機聯繫人
- 29. 在非本機應用程序中向iPhone或Android手機聯繫人列表添加號碼
- 30. 如何將iPhone聯繫人/日曆與我的PHP應用程序集成?
我希望OS的未來版本將允許更好的集成聯繫以允許應用程序做更多。 – 2011-03-23 17:16:51