Android 获取联系人之方式三
来源:互联网 发布:青岛网络干部学院错误 编辑:程序博客网 时间:2024/04/29 00:27
首先看看效果图
1、添加权限
<!--获取通讯录权限--> <uses-permission android:name="android.permission.READ_CONTACTS" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" />
2.编写布局
activity_contacts.xml
<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="match_parent"> <EditText android:layout_width="0dp" android:layout_height="wrap_content" android:id="@+id/et_telPhone" android:layout_weight="7"/> <Button android:layout_width="0dp" android:layout_height="wrap_content" android:text="打开练习人" android:layout_weight="3" android:onClick="show"/></LinearLayout>
3.写Activity
ContactsActivity.java
package com.zking.mycontacts;import android.content.ContentResolver;import android.content.Intent;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.provider.ContactsContract;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.EditText;/** * Created by Administrator on 2017/2/21. */public class ContactsActivity extends AppCompatActivity { private EditText editText; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_contacts); initViews(); } private void initViews() { editText = (EditText) findViewById(R.id.et_telPhone); } public void show(View view){ //跳转到通讯录界面 Uri uri = Uri.parse("content://contacts/people"); Intent intent = new Intent(Intent.ACTION_PICK, uri); startActivityForResult(intent, 0x101); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); if (requestCode == 0x101){ if (data == null){ return; } Uri uri = data.getData(); String[] strings = getPhoneContacts(uri); editText.setText(strings[0] + "\t" + strings[1]); } } private String[] getPhoneContacts(Uri uri){ String[] contact = new String[2]; ContentResolver cr = getContentResolver(); //取得电话本中开始一项的光标 Cursor cursor=cr.query(uri,null,null,null,null); if(cursor!=null) { cursor.moveToFirst(); //取得联系人姓名 int nameFieldColumnIndex=cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME); contact[0]=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); if(phone != null){ phone.moveToFirst(); contact[1] = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); } phone.close(); cursor.close(); } else { return null; } return contact; }}
0 0
- Android 获取联系人之方式三
- Android 获取手机联系人之方式二
- Android之获取联系人
- Android 之 获取联系人信息
- Android 之获取本地联系人
- android之获取手机联系人
- [android研究联系人之三]联系人Phone/Organization数据操作
- Android软件开发之获取通讯录联系人 联系人图像
- android组件之ContentProvider(三)——获取联系人&&其他
- Android开发之获取联系人信息
- Android通讯录管理一之联系人获取
- Android -ContentProvider之获取手机联系人
- Android之获取手机系统的联系人
- Android 通讯录 数据库的结构以及获取联系人方式
- 获取android联系人信息
- android获取联系人信息
- android 获取联系人
- Android获取联系人列表
- java数组去重list.contains()的使用
- 关于装两个Tomcat的问题
- 贝叶斯网络
- activiti
- CSS 编码规范
- Android 获取联系人之方式三
- GIT仓库学习--本地、远程仓库版本回退
- MP3文件格式分析
- android基本架构
- 笔记:Self-Taught Low-Rank Coding for Visual Learning
- ZeroMQ(java)之Publish/Subscribe模式
- Python 报错 NameError: name '_name_' is not defined
- 在团队环境中开始使用Git
- Flex 布局教程:语法篇