


全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
实现自己的应用选择电话本已有的电话这个功能呢就类似于发短信的过程中的一个操作,当你写好短信需要发送的时候你是必须要填写对方的手机号码的,当然大多数手机上都有查找或者浏览之类的功能就是会跳转到你目前的电话本中让你选择一个号码,然后返回短信界面并自动填写到发送号码的文本框。我就这个简单的过程和我实现中遇到的问题与大家分享下,希望大家能触类旁通。程序是这样的界面上有一个文本框用来输入或者说存放电话号码的,另外的一个浏览按钮则让你去选择你要找的电话号码。首先我们先来看一段API文档ACTION_GET_CONTENT with MIME type vnd.Android.cursor.item/phone - Display the list of peoples phone numbers, allowing the user to browse through them and pick one and return it to the parent activity.这个呢给出了我们需要的Intent 的相关 action 和 uri .那么下来就好办了,开始实现activityJava代码1 packagecom.automan;2 importandroid.app.Activity;3 importandroid.content.Intent;4 importandroid.database.Cursor;5 importandroid.os.Bundle;6 importandroid.util.Log;7 importandroid.view.View;8 importandroid.view.View.OnClickListener;9 importandroid.widget.Button;10 importandroid.widget.EditText;11 publicclassPickPhoneextendsActivity12 /*Calledwhentheactivityisfirstcreated.*/13 privateEditTextet=null;14 Override15 publicvoidonCreate(BundlesavedInstanceState)16 super.onCreate(savedInstanceState);17 setContentView(R.layout.main);1819 Buttonbtn=(Button)findViewById(R.id.Button01);20 et=(EditText)findViewById(R.id.tel);21 btn.setOnClickListener(newOnClickListener()22 publicvoidonClick(Viewv)23 Intenti=newIntent();24 i.setAction(Intent.ACTION_GET_CONTENT);25 i.setType(vnd.android.cursor.item/phone);26 startActivityForResult(i,0);27 2829 );3031 32 Override33 protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata)34 /TODOAuto-generatedmethodstub35 Log.e(abcd,ok);36 super.onActivityResult(requestCode,resultCode,data);37 try38 39 Cursorc=this.getContentResolver().query(data.getData(),null,null,null,null);40 if(c!=null)41 42 if(c.moveToFirst()43 44 et.setText(c.getString(1);45 46 4748 49 catch(Exceptione)50 51 Log.e(abcd,e.getMessage();52 53 54 如上是实现代码,不过关于onActivityResult 方法里的详细说明下首先根据API提示可以知道必然会返回给这个activity一些数据,那么数据如何携带呢?相信大家都很清楚了,就是这个Intent参数我们在学习cp这个基础知识的时候已经了解了它的用处,这里就在此验证了它的好处。我们不需要去了解具体的实现我们只关注暴漏给我们的API,Intent 有2个关键的参数 这里我们当然是要观察它的URI了,我首先对这个URI进行了观察(Log.e)因为我并不完全了解这里的过程,只能在一定的理论基础上大胆尝试,当然结果是令人兴奋的,系统给我们返回了一个uri,就像我们在其他地方见到的那样content:/contacts/phones/3 ,这是一个指向具体ID为3的联系人的URI,既然我们只关注联系人的电话,那么就让我们先返回这个ID为3的联系人的所有信息吧,如何返回呢?首先我们得想到既然是通过CP访问那自然是我们学过的getContentResolver()方法了,它是专门用来访问CP的,我们调用了其中的QUERY()方法,因为我们需要的数据是单条记录而且已有ID 所以其他参数我们不关注,这里只用第一个参数URI,这里各位请注意了,按照我们的思维似乎顺理成章的就完成了,但是这里有个值得提醒的问题,什么呢?对是权限!这里用到了读取联系人信息的权限,我们需要在AMF.XML中添加权限声明的XML如:好了有了这个 query() 方法可以正常执行了,接下来还有个要注意了,就像我们之前学习其他数据库的时候一样记录集的当前游标可能在第一条记录之前
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 多组学数据集成平台构建-洞察与解读
- 智能建筑火险预警系统-洞察与解读
- 按利润分成合作协议5篇
- 高空作业锅炉拆解安全协议书5篇
- 2025年台州温岭市中医院公开招聘医学卫生类高层次人才5人考前自测高频考点模拟试题有完整答案详解
- 贸易壁垒识别技术-洞察与解读
- 2025年安徽皖信人力资源管理铜陵分公司招聘20人模拟试卷及完整答案详解一套
- 虚拟场景沉浸感-洞察与解读
- 无菌包装材料创新研究-洞察与解读
- 2025年宁德市供电服务有限公司招聘30人考前自测高频考点模拟试题及完整答案详解
- 高速公路改扩建工程监理投标方案(技术方案)
- 突发性耳聋的中医辩证及护理方案
- T-SZEIA 001-2024 温室气体产品碳足迹量化方法与要求 变电站电气设备
- 2025年湖南省安全员-B证考试题库及答案
- 北师大版六年级下册数学全册同步分层作业设计含答案解析
- 简易钢结构雨棚施工承包合同范本
- 苏州市前期物业管理委托合同范本
- 2022年冀教版七年级上册数学第一次月考试卷
- 《气管支架临床应用》课件
- 8·12天津滨海新区爆炸事故调查报告分析及反思
- 2024新指南:中国阿尔茨海默病早期预防指南解读课件
评论
0/150
提交评论