java-在自己开发的应用程序中读取通讯录,想选择一个电话号码到自己的应用程序中

问题描述

在自己开发的应用程序中读取通讯录,想选择一个电话号码到自己的应用程序中

用下面的方法虽然可以得到一个电话号码,但不是自己选择的电话号码,每次都返回那个号码.求大神帮忙看看要怎么才能读取到自己所选的号码...先谢过了`enter code here @Override
public void onActivityResult(int reqCode, int resultCode, Intent data) {
super.onActivityResult(reqCode, resultCode, data);
ContentResolver cr = getContentResolver();
//取得电话本中开始一项的光标
Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);
//向下移动光标
while(cursor.moveToNext())
{
//取得联系人名字
int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
String contact = cursor.getString(nameFieldColumnIndex);
//取得电话号码
String ContactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));
//Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId, null, null);
Cursor phone = cr.query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null,
ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + ContactId + " AND "
+ ContactsContract.CommonDataKinds.Phone.TYPE + "=" +
ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE, null, null);
if(phone.moveToFirst())
{
String PhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
string = PhoneNumber ;
cursor.close();
mNumber.setText(string);
break;
}
}

}`

解决方案

Cursor cursor = mContentResolver.query(Contacts.CONTENT_URI, null,
null, null, null);
while (cursor.moveToNext()) {
//取得联系人ID,Name
int id = cursor.getInt(cursor.getColumnIndex(Contacts._ID));
String name = cursor.getString(cursor
.getColumnIndex(Contacts.DISPLAY_NAME));
//根据Id得到联系人的另一张表
Cursor cursorPhone = mContentResolver.query(Phone.CONTENT_URI,
null, Phone.CONTACT_ID + "=" + id, null, null);
while (cursorPhone.moveToNext()) {
//此表中有联系人号码
String phone = cursorPhone.getString(cursorPhone
.getColumnIndex(Phone.NUMBER));
Log.i("-------------------", phone);
ConstactVO vo = new ConstactVO(id, name, phone);
list.add(vo);
}
}

应该就是这样 参考一下吧

时间: 2024-11-08 23:23:09

java-在自己开发的应用程序中读取通讯录,想选择一个电话号码到自己的应用程序中的相关文章

zxing-用ZXing的demo写了一个程序,为什么用户需要选择,而不是调用自己的程序?求解决方法

问题描述 用ZXing的demo写了一个程序,为什么用户需要选择,而不是调用自己的程序?求解决方法 用ZXing的demo写了一个程序,为什么用户需要选择,而不是调用自己的程序?求解决方法 解决方案 例如Gallery3D的Activity中,每个intent-filter就是一个过滤器,你可以自己来定义,然后自己调用. <intent-filter> <action android:name=""android.intent.action.main.gallery3

树形菜单上的值从xml文件中读取就只能显示一个树形菜单

问题描述 树形菜单上的值从xml文件中读取就只能显示一个树形菜单 为什么树形菜单在前台设置他的项就可以显示多个树形菜单,但是使树形菜单上的值从xml文件中读取就只能显示一个树形菜单 解决方案 是什么树形菜单,在什么开发环境下使用的呢?是不是xml文件中读取到的数据不全导致的呢?

treeview和xml-C# winform中treeView我想新增一个节点,同时这个节点对应的新增一个对象

问题描述 C# winform中treeView我想新增一个节点,同时这个节点对应的新增一个对象 C# winform treeView,2级,第一级是控制卡,控制卡的参数是IP,右边的tabpage可以对参数赋值,第二级是控制卡下面是素材,素材也有几个参数的,tabpage也可以对参数赋值,我想怎么新增一个节点的同时新增一个对象,比如新增控制卡1的节点,就新增一个控制卡1的对象,然后控制卡1的对象下面可以增加素材,我的想法是用一个list,但是不知道类怎么定义,有大牛吗?当然了定义之后可以写在

c++-(MFC,socket)C++从http响应中读取到文件字符数组,但无法写入到文件中,显示为0kb

问题描述 (MFC,socket)C++从http响应中读取到文件字符数组,但无法写入到文件中,显示为0kb resp_leng= recv(sock, (char*)&buffer, BUFFERSIZE, 0); npos=string(buffer).find("rnrn",0); if(resp_leng>0 ) { if ( npos >= resp_leng-1 && flag) { response+= string(buffer).s

在一LOTUS数据库中,如何用LS建一个Agent,获取一固定LOTUS邮箱中邮件的Subject值?

问题描述 请教高手:在一LOTUS数据库中,如何用LS建一个Agent获取一固定LOTUS邮箱中邮件的Subject值? 解决方案 解决方案二:和平常的库取数一样代码如下:dimsessionasnotessessiondimdbasnotesdatabasedimviewasnotesviewdimdocasnotesdocumentsetsession=newnotessessionsetdb=session.getdatabase("","mail/zhangsan.n

想请教一个问题,比如nginx在一个container中正在运行,现在我要修改容器中的nginx.conf,增加一个子域名,那么我该怎么做? 难道新建一个ima

问题描述 想请教一个问题,比如nginx在一个container中正在运行,现在我要修改容器中的nginx.conf,增加一个子域名,那么我该怎么做?难道新建一个image,然后stoprm老image,然后run新的?该问题来自CSDNDocker技术交流群(303806405),由版主xinshubiao整理. 解决方案 解决方案二:你可以挂载配置文件啊,启动的时候从外部挂载配置文件该解答来自CSDNDocker技术交流群(303806405),由版主xinshubiao整理,由于手工编辑,

如何从一个以文本文件(存放的数据列之间以空格分开,行之间以回车分开)中读取全部列的数据,之后存放在数库中

问题描述 如何从一个以文本文件(存放的数据列之间以空格分开,行之间以回车分开)中读取全部列的数据,之后存放在数库中,请高手指教,谢谢!!!!

java中三个按钮共享一个监听器,但我的程序编译不了,高手帮我看看吧

问题描述 importjava.awt.*;importjava.awt.event.*;importjavax.swing.*;importjava.util.*;publicclassButtonTest{publicstaticvoidmain(String[]args){ButtonFrameframe=newButtonFrame();frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);frame.setVisible(true);

VS2005中,我不用TreeView的+到-这种树型菜单,我需要的是象打开XP资源窗口左边的可以上下收缩中的效果,给我一个具体的东西吧,急切期望中..

问题描述 万分感激............. 解决方案 解决方案二:CollapsePanel,用javascript或第三方控件来做解决方案三:试试这个吧Infragistics2.WebUI.UltraWebListbar.v6.2偶用过,可以收缩,还可以设置托动位置等,感觉不错解决方案四:关注中...解决方案五:TOcxrs:谢谢!关于Infragistics2.WebUI.UltraWebListbar.v6.2哪里有这个东西,怎么用的资料或者示例可以提供吗?解决方案六:我下了这个Inf