在Android设备上,Xamarin联系人选择器可以通过ContentResolver类和ContactsContract类来检索联系人。具体位置是通过使用ContentResolver.Query方法来查询联系人数据表,然后通过ContactsContract.Contacts类中的常量来指定要检索的字段。例如,可以使用ContactsContract.ContactsColumns.DisplayNamePrimary来检索联系人的主要显示名称。
以下是一个示例代码,演示如何使用Xamarin联系人选择器在Android设备上检索联系人:
using Android.App;
using Android.Content;
using Android.OS;
using Android.Provider;
using Android.Widget;
namespace XamarinContactPickerDemo
{
[Activity(Label = "ContactPickerActivity")]
public class ContactPickerActivity : Activity
{
private const int ContactPickerRequestCode = 1;
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.activity_main);
Button pickContactButton = FindViewById<Button>(Resource.Id.pickContactButton);
pickContactButton.Click += PickContactButton_Click;
}
private void PickContactButton_Click(object sender, System.EventArgs e)
{
Intent contactPickerIntent = new Intent(Intent.ActionPick, ContactsContract.Contacts.ContentUri);
StartActivityForResult(contactPickerIntent, ContactPickerRequestCode);
}
protected override void OnActivityResult(int requestCode, Result resultCode, Intent data)
{
if (requestCode == ContactPickerRequestCode && resultCode == Result.Ok)
{
var contactUri = data.Data;
var cursor = ContentResolver.Query(contactUri, null, null, null, null);
if (cursor.MoveToFirst())
{
var displayName = cursor.GetString(cursor.GetColumnIndex(ContactsContract.ContactsColumns.DisplayNamePrimary));
Toast.MakeText(this, "Selected contact: " + displayName, ToastLength.Short).Show();
}
cursor.Close();
}
}
}
}
这个示例代码中,我们在按钮的点击事件处理程序中创建了一个联系人选择器的意图,并使用StartActivityForResult方法启动选择器。然后,在OnActivityResult方法中,我们获取选择的联系人的URI,并使用ContentResolver.Query方法查询联系人数据表。最后,我们从查询结果中提取联系人的主要显示名称,并显示一个Toast消息来展示选择的联系人。
腾讯云相关产品和产品介绍链接地址:
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云