在Mono for Android中阅读所有Android联系人

本文关键字:Android 联系人 Mono for | 更新日期: 2023-09-27 18:23:50

如何在Android版Mono上使用C#读取Android手机上的所有联系人?我看过很多Java示例。

在Mono for Android中阅读所有Android联系人

我在这里有一个简单的例子,它使用内置的内容提供商将设备中的所有联系人列出到一个列表中。

样品中真正的肉是这样的:

_list = FindViewById<ListView>(Resource.Id.contact_list);
var contacts = ManagedQuery(ContactsContract.Contacts.ContentUri, null, null, null, null);
_list.Adapter = 
    new SimpleCursorAdapter(
        this, 
        Resource.Layout.contacts_item, 
        contacts, 
        new string[] { ContactsContract.ContactsColumnsConsts.DisplayName }, 
        new int[] { Resource.Id.contact_name });

ManagedQuery方法查询所提供的内容提供商(在本例中为联系人),并返回一个带有结果的游标。该方法的其他参数可用于指定选择条件。在这里,为所有内容提供null将返回所有联系人。

Xamarin还有一个Xamarin.Mobile API,目前正在预览中,它提供了一些更好的方法来访问联系人数据(以及其他一些东西)。