说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

获得手机中的电话簿

HTML文档下载 WORD文档下载 PDF文档下载
有时您可能想备份电话簿。这个功能很常见。不过如何自己编程来获取呢?本人买了一本《Android应用开发揭密》,这本书挺好。就是里面的便子有点老了。书中第34页关于获得电话本的方法有误:只能获取联系人,却不能获得电话号码。我猜可能因为该书的代码是基于Android1.6的吧?通过多方查找资料,并且反复调试,我找到了正确的方法。
首先,要在AndroidManifest.xml中,添加以下的权限说明。<uses-permission android:name="android.permission.READ_CONTACTS">    </uses-permission>代码如下:

 

<uses-permission android:name="android.permission.READ_CONTACTS">
    </uses-permission>
public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); //setContentView(R.layout.main); TextView tv = new TextView(this); String sAll = "---电话列表---by dxm \n"; // 得到ContentResolver对象] ContentResolver cr = getContentResolver(); Cursor cursor = cr.query(ContactsContract.Contacts.CONTENT_URI,null,null,null,null); while(cursor.moveToNext()) { int nIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME); String sName = cursor.getString(nIndex); Log.e("MYTAG",sName); int nIndex2 = cursor.getColumnIndex(PhoneLookup.HAS_PHONE_NUMBER); String sTmp=""; sTmp += nIndex2; String sHasNumber = cursor.getString(nIndex2); sAll += (sName + ":"); Log.e("MYTAG","hasNumber:"+sHasNumber); if( sHasNumber.compareTo("1")==0) { int idFieldIndex=cursor.getColumnIndex(ContactsContract.Contacts._ID); int id=cursor.getInt(idFieldIndex); Cursor phones = cr.query( ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID + "=" + "?", new String[]{Integer.toString(id)}, null); while (phones.moveToNext()) { String sNumber = "NONE"; nIndex = phones .getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER); sNumber = phones.getString(nIndex); Log.e("MYTAG",sNumber); nIndex = phones .getColumnIndex(ContactsContract.CommonDataKinds.Phone.TYPE); String sType = phones.getString(nIndex); sAll+= (sNumber + ":" + sType + "\n"); } Log.e("MYTAG","OH"); } else { sAll+= ("no phone number \n"); } } cursor.close(); tv.setText(sAll); setContentView(tv); }

 

 

Delphi数据集过滤技巧 Delphi数据库应用程序开发中图像数据 Delphi下的ADO Delphi在网络数据库中的应用 Delphi中多库关联查询 Delphi中建表 Delphi中数据文件路径的管理 ODBC中的同步与异步执行模式-Delphi资料 SQL编程常见问题-Delphi资料 第11章 中级SQL-Delphi资料 第10章 SQL基础-Delphi资料 SQL语句中的删除和改变-Delphi资料 TDataLink类别的说明-Delphi资料 TDBGrid控件中对多个记录的处理-Delphi资料 安装BDE需要的东东-Delphi资料 保存DBGrid中栏的字段名及尺寸-Delphi资料 动态生成定义数据库-Delphi资料 动态组成SQL速句-Delphi资料 多层C/S的客户端调用服务器端的方法-Delphi资料 关于dephi数据库的动态建立-Delphi资料 基 于WEB 的 数 据 库 查 询-Delphi资料 计算数据库某字段的值-Delphi资料 计算字段值-Delphi资料 建立应用软件注册安全机制-Delphi资料 建立自己的数据字典库-Delphi资料 将BLOB字段的BMP图显示出来-Delphi资料 将图像放入数据库中-Delphi资料 解 决sybase 用 户 数 据 库 不 能 进 入 故 障 的 一 种 方 法-Delphi资 解决sybase用户数据库不能进入故障的一种方法-Delphi资料 解决一个DBF表时的&quot;Index not found..&quot;错误-Delphi资料 精简Delphi数据库应用系统 关于用户自定义page类的问题 存储过程中IF EXISTS(select @result=aaa from tbl)提示等号附近有语法错误!!! 请问除了设置Anchor属性外如何保证窗体放大后组件的位置和大小? 如何在BCB中动态创建对象? SOS 救火 帮忙看个错,数据库连接问题 看看这个xml怎么用xsl解析 在DELPHI中,怎么遍历相同的控件? 一个简单的问题---在线等 在线等待:如何捕捉listctrl垂直滚动条的点击事件? 控件分类管理 急求一个递归统计函数,能解决者马上给分!!! 如何在ie中只打印iframe里面的页面内容 求select语句 请jennifergiant来领分,谢谢 如何将在内存中创建的BMP文件加载到页面上??? 帮忙看个错,ORA-00600 那里可以下载测试工具(Loadrunner,testdirector) 如何写一个往数据库里插入记录的公共模块啊? 文本两边对齐 请问sqlserver2000中bit类型值怎样表示 谁有jspsmart 上传组件。我上不了jspsmart.com ,好心人给我发一个!!! 时间格式有误,不知是何原因? 怎样开、关进程!(不是线程)? 今年高考的一篇旷世奇文 cnn连接怎么单独写出来,让Sub或Function调用?不用每次都写一次连接, 请附上Code ,谢谢 请教multibytetowidechar的用法 请救各位. 关于用nmudp实现传输!up也有分,:)) jcreator的debug模式不是很好用,怎么(黄色小三角)指的位置不对啊? 关于用mscomm编程的问题,请大虾指教 导出数据库和操作时经常出现无法分配共享内存错误. 关于ListBox 重分请教:关于制作自定义报表的问题!!! 请问怎样编程查询一个字符串的五笔字型编码? 我们单位要上ERP,作为公司分管微机这一块的我该准备些什么? 右键菜单问题 d7+ADO+SQL2000,如何判断SQL2000数据库中存在某个表? 想要去清华读研究生,大家帮忙出出意见!!!!!!!!!!!!!!!!!!!!!!!! 大价钱求解小问题 好硕的5460!!!! iwantsay 关于MSComm的output和Chr()函数的问题 好久没来这里了这里的朋友们还在吗? 如何在TreeView的节点中调用一个方法? 关于deploytools 一个有关代理文件操作的问题,困扰很久了!! 如何由资源ID得到资源的句柄 向oracle 中插入纪录,日期格式由问题,见内 查询问题 如何取消验证 关于asp打印的一些设置的请教 初一的用字母表示数和代数式在填空题的形式下要写出它的最简形式吗?比如(2+5)m要不要写为7m?m(a+b) 要不要写成am+bm为什么 All the teachers are against the idea to [ ] the new teaching building beside the sports groundA findB setC locateD build up请问选什么 为什么选这个呢? 为什么代数式中要用字母表示数 underestimate什么意思 underestimate怎么念 Is Mary in的同意句 高二数学题(三角形)在三角形ABC 中,(cosA)/a=(cosB)/b=(cosC)/c 求三角形形状 高二数学三角形问题在三角形ABC中,内角A,B,C所对的边分别为a,b,c,已知sinB(tanA+tanC﹚=tanAtanC,求角B的取值范围. 三角形.急已知△ABC的内角A,B,C所对的边分别为a,b,c,且a=2,cosB=3/5,求〔1〕若b=4,求sinA的值.〔2〕若△ABC的面积等于4,求b,c的值 高二数学三角形问题,谢谢啊在△ABC中,已知AB=4,AC=7,BC边上的中线长AD=7/2,那么BC=( ) 太阳耀斑会有什么影响 杰奎琳·肯尼迪的五个不解之谜登顶黄山 易道为松 2013易道教育武安房屋塌陷续:现场共发现6名失踪人希腊庆祝母乳喂养周 数百母亲当众哺乳传韩对朝政策或出现变化 韩当局称报道比亚迪称在美劳资情况遭失实报道美国捕获长约4米重达330公斤巨鳄【德媒:日本吃醋中德相爱 认为遭受德国英国监管报业是对过度“自由”的反弹美国务卿称美国永远不会允许伊朗有核武罗德曼力促朝篮球队访美 称金正恩是个芦山重建的“中国脊梁”习近平抵达伊斯兰堡 巴8架枭龙战机升签证限制多 美华裔吁美国推行更友好签深圳地铁乘客晕倒引发踩踏事故:12人商务部否认三个新自贸区开放程度高于上习近平访巴 巩固“两个轮子”上的合作克罗地亚举办“汉语桥”比赛【高清图】衡水近万株郁金香吸引大量市英媒:中国海外“猎狐”队员年纪轻学历韩将在5年投入500亿元 应对朝核与原标题:食品安全法修订草案三审 部分
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘