android studio for android learning (十二) 查看并获取联系人信息
来源:互联网 发布:爱淘宝红包不中 编辑:程序博客网 时间:2024/04/30 16:02
1.点击一个按钮就会显示系统的联系人列表,当用户点击联系人之后就会看到详细的名字和电话。
2.具体的代码如下:首先在AndroidManifest.xml文件中配置用户权限。
<uses-permission android:name="android.permission.READ_CONTACTS"/>
activity_main.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent" tools:context="com.dragon.testevent.MainActivity"> <Button android:id="@+id/bn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="查看联系人" /> <!--显示联系人姓名的文本框--> <EditText android:id="@+id/show" android:layout_width="match_parent" android:layout_height="wrap_content" android:editable="false" android:cursorVisible="false" /> <!--显示联系人电话号码的文本框--> <EditText android:id="@+id/phone" android:layout_width="match_parent" android:layout_height="wrap_content" android:editable="false" android:cursorVisible="false" /></LinearLayout>
MainActivity.java
package com.dragon.testevent;import android.app.Activity;import android.content.CursorLoader;import android.content.Intent;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.provider.ContactsContract;import android.view.View;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity { final int PICK_CONTACT = 0; @Override protected void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //获取按钮组件 Button bn = (Button) findViewById(R.id.bn);//绑定监听事件 bn.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View arg0){ Intent intent = new Intent();// intent--Action是表示抽象要完成的动作 intent.setAction(Intent.ACTION_GET_CONTENT);// intent--Type:类型 intent.setType("vnd.android.cursor.item/phone"); startActivityForResult(intent,PICK_CONTACT); } }); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data){ super.onActivityResult(requestCode,resultCode,data); switch(requestCode){ case(PICK_CONTACT): if(resultCode==Activity.RESULT_OK){// 获取返回数据 Uri contactData = data.getData(); CursorLoader cursorLoader = new CursorLoader(this,contactData,null,null,null,null);// 查询联系人的名字 Cursor cursor = cursorLoader.loadInBackground(); if(cursor.moveToFirst()){ String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); //获取联系人的名字 String name =cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME)); String phoneNumber = "No phone Number";// 根据联系人查询联系人的详细信息 Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+contactId,null,null); if(phones.moveToFirst()){// 提取电话号码 phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); }// 关闭游标 phones.close(); EditText show = (EditText)findViewById(R.id.show);// 显示联系人的名称 show.setText(name); EditText phone=(EditText)findViewById(R.id.phone);// 显示联系人的号码 phone.setText(phoneNumber); }// 关闭游标 cursor.close(); } break; } }}
具体的代码分析以写注释,大家可以去测试用下。
0 0
- android studio for android learning (十二) 查看并获取联系人信息
- 查看并获取联系人信息
- 获取android联系人信息
- android获取联系人信息
- android获取联系人信息
- 获取android联系人信息
- 获取android联系人信息
- 获取android联系人信息
- android,获取联系人信息
- android获取联系人信息
- 获取android联系人信息
- android获取联系人信息,插入联系人
- Android 之 获取联系人信息
- android 获取手机联系人信息
- Android中获取联系人信息
- 获取android所有联系人信息
- android 获取通讯录联系人信息
- android获取所有联系人信息
- 微信红包调用获取不到证书路径问题
- iOS全新的联系人与联系人UI框架
- Start My JS Road
- JSON和JSONP
- 深入理解Java的接口和抽象类
- android studio for android learning (十二) 查看并获取联系人信息
- 漂亮的thinkphp分页类
- Eclipse下报错 An internal error occurred during: "C/C++ Indexer". java.lang.NullPointerException
- 欢迎使用CSDN-markdown编辑器
- 封装示例_java
- Java散落知识点总结(一)
- ACM中的博弈论入门(三) POJ 1740 开点脑洞……
- PHPdatatable服务器端处理(2)
- Android开源特效常用链接大集合