获取联系人姓名和号码

import android.app.Activity;
import android.content.ContentResolver;
import android.content.Intent;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.Contacts;
import android.provider.ContactsContract;
import android.provider.ContactsContract.PhoneLookup;
import android.util.Log;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;
import android.content.ContentResolver;
public class Sample5_7_Activity extends Activity {
private Button bSearch;//搜索按钮
private static final int COUNT=0;
String lxrName ;
String lxrPhoneNumber;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        bSearch=(Button)this.findViewById(R.id.Button01);//按钮对象
        
        bSearch.setOnClickListener
        (
        new OnClickListener()
        {
@Override
public void onClick(View v) {
Uri uri=Uri.parse("content://contacts/people");//创建Uri对象取得联系人的资源位置
Intent intent=new Intent(Intent.ACTION_PICK,uri);//创建Intent对象,并将取得的值返回
startActivityForResult(intent,COUNT);//打开新的Activity,并获取返回值
}
        }
        );
    }
    @Override
    protected void onActivityResult(int requestCode,int resultCode,Intent data)
    {
    switch(requestCode)
    {
    case 0:
    final Uri uri=data.getData();
    if(uri!=null)
    {
    try
    {
    ContentResolver cr = getContentResolver();
    Cursor cursor=managedQuery(uri,null,null,null,null);//获取联系人信息
    while(cursor.moveToNext())
           {
               //取得联系人名字
               int nameFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.DISPLAY_NAME);
                lxrName = 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);
                
               while(phone.moveToNext())
               {
                    lxrPhoneNumber = phone.getString(phone.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
                  //tring += (contact + ":" + PhoneNumber + "\n");
               }
           }
   
               Toast.makeText(
        Sample5_7_Activity.this, 
        "你所查询的联系人姓名为:"+ lxrName +",电话为:"+ lxrPhoneNumber,
        Toast.LENGTH_SHORT
        ).show();
     
           cursor.close();
    }catch(Exception e)
    {
    e.printStackTrace();
    }
    }
    break;
    }
    super.onActivityResult(requestCode, resultCode, data);
    }

}


PS:4.0上面已经不能使用。

  int numberFieldColumnIndex = cursor.getColumnIndex(PhoneLookup.NUMBER);    
            String number = cursor.getString(numberFieldColumnIndex); 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值