`

调用系统界面挑选联系人

 
阅读更多

实现效果:

 

我们知道,在应用中经常需要获取某一个联系人的姓名和电话号码,并返回。有两种方式可以实现,一种是比较简单的,也就是调用系统的选择联系人的界面,通过startActivityForResult来调用,在onActivityResult中处理返回的结果。

 

下面我们看看具体是如何实现的:

 

private static final int CONTACT_PICKER_RESULT = 0; 
 

 

/**
     * launch System contact picker Activity
     * 
     * 启动系统的挑选联系人的Activity
     * */
    private void launchContactPicker()
    {
    	Intent i = new Intent(Intent.ACTION_PICK);
        i.setType(Phone.CONTENT_TYPE);
        startActivityForResult(i, CONTACT_PICKER_RESULT);
    }

 

@Override
    protected void onActivityResult (int requestCode, int resultCode, Intent data) 
    {
        super.onActivityResult(requestCode, resultCode, data);
        
        if(resultCode == RESULT_OK)
        {
        	switch (requestCode) 
        	{
        	//handle the result...
        	//处理返回的结果
            case CONTACT_PICKER_RESULT:
                if (data == null)
                {
                    return;
                }
                Uri uri = data.getData();
                Cursor cursor = getContentResolver().query(uri, null, null, null, null);
                cursor.moveToFirst();
                
                String name = cursor.getString(cursor.getColumnIndexOrThrow(Phone.DISPLAY_NAME));
                String number = cursor.getString(cursor.getColumnIndexOrThrow(Phone.NUMBER));
                
                etShowContact.setText(name + number);
                break;
        	}
        
        }
    } 
 

但是这样做有一个问题。一次只能选择一个联系人。那么如何实现可以同时选择多个联系人呢?目前我知道的方法只有这样做:自己获取所有联系人的信息,然后从这些信息中实现多选。下次我会展示一个我的做法给大家看看。

 

 

Demo下载地址:https://github.com/michaelye/DemoChooseContactBySystem

 

 

如果发现问题欢迎指正。

 

 

 

  • 大小: 120.3 KB
分享到:
评论

相关推荐

    类似邮件地址框样式的联系人选择效果

    这种设计模式常见于需要从大量联系人列表中挑选收件人的场景,比如发送邮件、创建事件邀请等。 在iOS中,这个效果通常通过自定义UI控件或利用系统提供的UIPickerView、UITableView或者UICollectionView来实现。此...

    sw.rar_android

    在Android系统中,壁纸分为锁屏壁纸、主屏幕壁纸以及联系人头像等多种类型,用户可以根据自己的喜好选择不同的壁纸来装饰手机界面。"sw"应用很可能包含了丰富的壁纸资源,涵盖各种风格和主题,如风景、动漫、艺术...

    Drive_show_black_screen_issue_analysis_report

    该问题的具体表现是在Contacts应用中添加新联系人,并为新联系人选择一个图标时,在弹出的Documents窗口中选择Drive选项来挑选图片,之后应用程序会出现一段时间的黑屏。该问题出现在搭载了MT6572平台、运行Android ...

    VC++课程设计案例(11个例子 PDF格式)

    通过实现添加、删除、查找联系人等功能,你可以学习到如何使用VC++处理和存储数据。 5. **其他例子**: 除了以上列举的,可能还包括更复杂的功能,如图像处理、网络通信、游戏开发等。这些实例将引导你探索VC++的...

    Windows phone 教学视频06

    在开发旅游类应用时,选择器可能用于让用户挑选旅行照片或者选取目的地的联系人信息。 为了实现这些功能,开发者需要对Windows Phone 8的SDK有深入理解,包括如何实例化和配置这些启动器和选择器,以及如何处理它们...

    iOS的UI开发中Modal的使用与主流应用UI结构介绍

    3. **选择操作**:如日期选择器、联系人选择等,用户需要从中挑选一个选项。 4. **全屏内容展示**:如图片预览、视频播放等,内容占据了整个屏幕。 5. **轻量级导航**:在不改变整体导航栈的情况下,提供一个临时的...

    精通ANDROID 3(中文版)1/2

    第6章 构建用户界面和使用控件  6.1 Android中的UI开发  6.1.1 完全利用代码来构建UI  6.1.2 完全使用XML构建UI  6.1.3 使用XML结合代码构建UI  6.2 Android中的常见控件  6.2.1 文本控件  6.2.2 ...

    精通Android 3 (中文版)2/2

    第6章 构建用户界面和使用控件  6.1 Android中的UI开发  6.1.1 完全利用代码来构建UI  6.1.2 完全使用XML构建UI  6.1.3 使用XML结合代码构建UI  6.2 Android中的常见控件  6.2.1 文本控件  6.2.2 ...

    tableview实现多选单选删除

    - 单选通常用于让用户在有限的选项中做出一个决定,例如选择一个联系人或一个设置项。在UITableView中,可以使用`NSIndexPath`和一个变量来跟踪当前选中的行。 - 多选则适用于需要用户挑选多个选项的情况,比如...

    新版Android开发教程.rar

    � 计算技术、无线接入技术的发展,使嵌入式系统逐渐有能力对桌面系统常规业务进行支持。 � 谷歌长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发 既 有用又有吸引力的移动...

    常用计算机专业英语.pdf

    41. **Shell**:壳通常是操作系统提供的交互界面。 42. **Delete**:删除用于移除不再需要的文件或数据。 43. **Enter**:在键盘上按Enter键表示确认或执行当前操作。 44. **Margin**:在排版中,边缘用于控制文本或...

    JAVA经典的40个实例

    例如,实现一个简单的电话簿系统,存储和查找联系人。 4. **多线程**:理解线程的创建和同步,如Thread类的使用、Runnable接口实现、synchronized关键字以及wait()、notify()方法。 5. **IO流**:学习如何读写文件...

    salesforce crm中文手册

    - **联系人角色**:定义每位联系人在业务关系中的作用。 - **查看和编辑联系人角色**:指定某人在特定交易中扮演的身份。 - **添加联系人角色**:为新加入的成员分配适当角色。 - **自定义视图**:按照特定条件过滤...

    计算机专用1500词汇

    99. **user (用户)**:在计算机领域,“用户”通常指的是使用计算机系统或应用程序的人。 100. **end (结束)**:在描述时间或过程时,“结束”通常指的是到达终点或完成的状态。 101. **system (系统)**:在计算机...

    计算机专业英语1500词(word文档)

    41. **shell** - 壳,操作系统提供的命令行界面。 42. **delete** - 删除,从存储中移除数据。 43. **enter** - 输入,键入数据或命令。 44. **margin** - 余量,页面边距,不影响内容的部分。 45. **mark** - 标记...

    超级好看的小程序官网源码

    【描述】中的"超级好看"意味着这个小程序官网在界面设计上注重美观性,有着吸引人的视觉元素,可能包括精心挑选的颜色搭配、独特的布局、流畅的动画效果以及清晰的用户界面。同时,"超级好看"也可能暗示源码遵循了...

    UI设计师求职简历模板

    8. **参考人**:提供一到两位可作为推荐人的联系信息,通常是过去的导师或雇主,他们能证明你的专业能力和工作表现。 然而,需要注意的是,由于此模板调用了谷歌字体库,可能会导致简历在某些网络环境较差的情况下...

    程序员英语词汇

    用户): 用户是指使用计算机系统或应用程序的人。 80. **end** (n. 结束,终点,端点): 结束通常指流程或操作的终止点。 81. **system** (n. 系统): 系统是指由相互关联的组成部分组成的整体。 82. **contain** (vt....

    软考英语啊

    用户是指使用计算机系统的人。 ### 100. endn. 结束 结束在这里指操作或过程的终止。 ### 101. systemn. 系统 系统是指一组相互关联的组件,它们协同工作以实现特定的目标。 ### 102. containvt. 包含 包含是指某...

    如何免费快速建立自己的手机网站.pdf

    下面开始添加行业新闻还是刚才的添加标题的方法添加个行业新闻的标题然后开始添加文章列表这里的内容是在栏目中发表的,可以调用栏目中的,这里我先做好,后面会有解释通过在栏目里添加文章,最后,我们的手机网站就...

Global site tag (gtag.js) - Google Analytics