博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android 取得电话本中用户信息
阅读量:6037 次
发布时间:2019-06-20

本文共 3514 字,大约阅读时间需要 11 分钟。

下面是java 文件,主activity

package com.happyrxk.contact import android.app.Activity;import android.content.Intent;import android.database.Cursor;import android.net.Uri;import android.os.Bundle;import android.provider.ContactsContract;import android.view.Menu;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;public class MainActivity extends Activity {    //定义出启动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 OnClickListener() {                        @Override            public void onClick(View v) {                // TODO Auto-generated method stub                Intent intent = new Intent();                //这里设置intent的action与type,对应的就是android的电话本程序                intent.setAction(Intent.ACTION_GET_CONTENT);                intent.setType("vnd.android.cursor.item/phone");                startActivityForResult(intent, PICK_CONTACT);            }        });    }        //复写此方法,对应的是startActivityForResult    @Override    protected void onActivityResult(int requestCode, int resultCode, Intent data) {        // TODO Auto-generated method stub        super.onActivityResult(requestCode, resultCode, data);        switch (requestCode) {        case PICK_CONTACT:            if(resultCode == Activity.RESULT_OK){                //取得返回的数据                Uri contactData = data.getData();                //根据返回的数据获得数据游标                Cursor cursor = getContentResolver().query(contactData, null, null, null, null);                if(cursor.moveToFirst()){                    String contactId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID));                    String name = cursor.getString(cursor.getColumnIndexOrThrow(ContactsContract.Contacts.DISPLAY_NAME));                    String phoneNumber = null;                    System.out.println(contactId+"");                    //获得id为contactId的游标并取得手机号码  TYPE_MOBILE指的手机号,还有TYPE_HOME等                    Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone.CONTACT_ID+"="+contactId + " AND " + ContactsContract.CommonDataKinds.Phone.TYPE + "=" + ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE, null, null);                    if(phones.moveToFirst()){                        phoneNumber = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));                        System.out.println("pnumber1  "+phoneNumber);                    }                    System.out.println("pnumber  "+phoneNumber);                    //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;        default:            break;        }    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    }

进行此操作需要在MainFest声明权限

 

转载于:https://www.cnblogs.com/happyDays/p/3229704.html

你可能感兴趣的文章
wireshark tcp 协议分析 z
查看>>
Need a code of lazy load for div--reference
查看>>
HTable和HTablePool使用注意事项
查看>>
如何使用JW Player来播放Flash并隐藏控制按钮和自定义播放完成后执行的JS
查看>>
04 http协议模拟登陆发帖
查看>>
Codeforces Round #298 (Div. 2) B. Covered Path 物理题/暴力枚举
查看>>
百度地图定位地址为空
查看>>
云计算设计模式(五)——计算资源整合模式
查看>>
关于classpath
查看>>
[数据库事务与锁]详解一: 彻底理解数据库事务
查看>>
Debug和Release区别
查看>>
Android 手机卫士--打包生成apk维护到服务器
查看>>
Python下载
查看>>
通过微软认证所需费用
查看>>
JAVA实现拼图游戏
查看>>
Azure运维系列 6:使用自定义映像创建虚拟机
查看>>
puppet成长日记二 Package资源详细介绍及案例分析
查看>>
AE+C# 向axPageLayoutControl1添加图例
查看>>
Hive Streaming 追加 ORC 文件
查看>>
打开Apache自带的Web监视器
查看>>