资源描述:
《android应用选择电话本已有的电话》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实现自己的应用选择电话本已有的电话这个功能呢就类似于发短信的过程中的一个操作,当你写好短信需要发送的时候你是必须要填写对方的手机号码的,当然大多数手机上都有查找或者浏览之类的功能就是会跳转到你目前的电话本中让你选择一个号码,然后返回短信界面并自动填写到发送号码的文本框。我就这个简单的过程和我实现中遇到的问题与大家分享下,希望大家能触类旁通。程序是这样的界面上有一个文本框用来输入或者说存放电话号码的,另外的一个浏览按钮则让你去选择你要找的电话号码。首先我们先来看一段API文档ACTION_GET_CONTENTwithMIMEtypevnd.Andr
2、oid.cursor.item/phone--Displaythelistofpeople'sphonenumbers,allowingtheusertobrowsethroughthemandpickoneandreturnittotheparentactivity.这个呢给出了我们需要的Intent的相关action和uri.那么下来就好办了,开始实现activityJava代码1packagecom.automan;2importandroid.app.Activity;3importandroid.content.Intent;4impor
3、tandroid.database.Cursor;5importandroid.os.Bundle;6importandroid.util.Log;7importandroid.view.View;8importandroid.view.View.OnClickListener;9importandroid.widget.Button;10importandroid.widget.EditText;11publicclassPickPhoneextendsActivity{12/**Calledwhentheactivityisfirstcreat
4、ed.*/13privateEditTextet=null;14@Override15publicvoidonCreate(BundlesavedInstanceState){16super.onCreate(savedInstanceState);17setContentView(R.layout.main);1819Buttonbtn=(Button)findViewById(R.id.Button01);20et=(EditText)findViewById(R.id.tel);21btn.setOnClickListener(newOnCl
5、ickListener(){22publicvoidonClick(Viewv){23Intenti=newIntent();24i.setAction(Intent.ACTION_GET_CONTENT);25i.setType("vnd.android.cursor.item/phone");26startActivityForResult(i,0);1}23});45}6@Override7protectedvoidonActivityResult(intrequestCode,intresultCode,Intentdata){8//TOD
6、OAuto-generatedmethodstub9Log.e("abcd","ok");10super.onActivityResult(requestCode,resultCode,data);11try12{13Cursorc=this.getContentResolver().query(data.getData(),null,null,null,null);14if(c!=null)15{16if(c.moveToFirst())17{18et.setText(c.getString(1));19}20}2122}23catch(Exce
7、ptione)24{25Log.e("abcd",e.getMessage());26}27}28}如上是实现代码,不过关于onActivityResult方法里的详细说明下首先根据API提示可以知道必然会返回给这个activity一些数据,那么数据如何携带呢?相信大家都很清楚了,就是这个Intent参数我们在学习cp这个基础知识的时候已经了解了它的用处,这里就在此验证了它的好处。我们不需要去了解具体的实现我们只关注暴漏给我们的API,Intent有2个关键的参数这里我们当然是要观察它的URI了,我首先对这个URI进行了观察(Log.e)因为我并不
8、完全了解这里的过程,只能在一定的理论基础上大胆尝试,当然结果是令人兴奋的,系统给我们返回了一个uri,就像我们在其他地方见