首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

xamarin联系人选择器在android设备上的哪个位置检索联系人?

在Android设备上,Xamarin联系人选择器可以通过ContentResolver类和ContactsContract类来检索联系人。具体位置是通过使用ContentResolver.Query方法来查询联系人数据表,然后通过ContactsContract.Contacts类中的常量来指定要检索的字段。例如,可以使用ContactsContract.ContactsColumns.DisplayNamePrimary来检索联系人的主要显示名称。

以下是一个示例代码,演示如何使用Xamarin联系人选择器在Android设备上检索联系人:

代码语言:csharp
复制
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消息来展示选择的联系人。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 最新iOS设计规范五|3大界面要素:控件(Controls)

    iOS是运行于iPhone、iPad和iPod touch设备上、最常用的移动操作系统之一。作为互联网应用的开发者、产品经理、体验设计师,都应当理解并熟悉平台的设计规范。这有利于提高我们的工作效率,保证用户良好的体验。 本文是iOS设计规范系列第5篇,介绍3大界面要素(栏、视图、控件)中的控件(Controls)。首先让我们回顾一下iOS的3大界面要素。 3大界面要素 (Interface Essentials) 大多数iOS应用都是由UI Kit中的组件构建的。UI Kit是一种定义通用界面元素的编程框架,这个框架不仅让APP在视觉外观上保持一致,同时也为个性化设计留有很大空间。UI Kit提供的界面组件有三类:栏(Bars),视图(Views),控件(Controls)。

    03

    Xamarin 学习笔记 - 配置环境(Windows & iOS)

    一直以来,做为一名Web以及桌面开发人员,我一直在使用.NET框架和C#语言,而在某些项目中,Angular会在前端占有主导地位。 最近,我们总是谈论移动应用程序开发的未来,但我本身实在没有天赋转向另一种语言。最近几年,针对我的社交项目,我尝试使用Hybrid框架和AngularJS以及Ionic,Cordova一起构建一个示例……但一切并不像我想象得那样容易。此后微软于2016年2月份收购了Xamarin并在之后不久宣布了将Xamarin开源。自此微软生成用C#开发的软件将不仅仅能够运行在Windows上,而是可以在任何设备上运行。继微软收购Xamarin之后,对可以将C#开发与全功能的跨平台移动开发工具相结合,使用开发工具共享业务逻辑代码,以提供完全原生的应用程序的专业人士的需求日益增加,这一点自从2011年之后就一发不可收拾。

    02

    移动开发的跨平台技术演进

    我是2010年开始从事的Android开发,当时会Android和iOS开发的很少,也不火,所有人都在“摸着河底过河”,项目更没有第三方框架一说,大都是自己写的,不像现在各种的框架满天飞。随着移动开发的发展,互联网公司也是层出不穷,有些公司迫于竞争,想要更迅速的更省成本的进行开发,就不再满足Android端一套代码,iOS端一套代码。与此同时,其他技术领域和各大公司也都觊觎着这份大蛋糕,纷纷推出相关的技术,这样跨平台技术应运而生,并且开始在公司中生根发芽。 Android和iOS生态太大了,我们可以把它们比作第一级生态,想要颠覆这两个系统的曾经出现过,但都失败了,因此建立次级生态是最稳妥的策略,Android平台更加开放,因此次级生态的中心就是Android,次生态的形式多种多样,比如在Android系统的基础上魔改建立自己的生态,再或者推出各种跨平台技术建立生态。跨平台技术产生的框架实在太多了,很多还没等我们去学去了解,它们就没落了,成为了跨平台技术的发展的一个过度产物。跨平台技术的产物是不靠谱还是趋势,我想读完本篇文章你会有自己的理解。 跨平台技术的分类没有标准的答案,这里把它们分类为5种,分别Web App、Hybrid App、语言编译转换、原生渲染、自绘UI。下面分别介绍它们。

    02
    领券