package com.demo;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.ContentResolver;
import android.database.Cursor;
import android.os.Bundle;
import android.provider.Contacts;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.SimpleCursorAdapter;

public class ContentPv extends Activity {
ListView lv;
Cursor c;
// 此处定义了将要被查询的字段列表
String[] persons = new String[]{
Contacts.People._ID,
Contacts.People.NUMBER,
Contacts.People.NAME};

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv = (ListView)findViewById(R.id.lv);
ContentResolver cr = this.getContentResolver();
// 查询指定条件的联系人,此处规定了查询条件为电话号码不为空
c = cr.query(Contacts.People.CONTENT_URI, persons, Contacts.People.NUMBER + " is not null", null, Contacts.People.DEFAULT_SORT_ORDER);
c.moveToFirst();
// 建立Adapter并灌入ListView
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
R.layout.list, c, new String[] { Contacts.People.NAME },
new int[] { R.id.TextView01 });
lv.setAdapter(adapter);
}
}

与此同时在Manifest.xml配置允许读取联系人的权限
<uses-permission android:name="android.permission.READ_CONTACTS"></uses-permission>

程序运行后效果如图所示,我在ListView上添加了一个OnItemClick监听器,点击时弹出指定联系人的电话号码,代码也很简单
c.moveToPosition(position);
new AlertDialog.Builder(this)
.setTitle("Hint")
.setMessage(c.getString(c.getColumnIndexOrThrow(Contacts.People.NUMBER)))
.setPositiveButton("OK", null)
.show();

更多相关文章

  1. Android 获取联系人的姓名、电话信息
  2. android读取联系人信息(学习版)
  3. Android读取联系人的姓名及号码
  4. android 查找联系人方法(支持首拼,全拼,英文)
  5. android 关于联系人列表的一个类
  6. Android 添加新的联系人代码
  7. android 获取通讯录中同一联系人的多个号码
  8. Android 简单联系人操作

随机推荐

  1. Android流媒体播放器
  2. 客户端微信分享
  3. 《Android和PHP开发最佳实践》一2.2 And
  4. Android程序员必看之Android六大优势
  5. android,说好的公正
  6. Android之父:Android不封杀Skype等VOIP应
  7. Android开发之“hello World”的实现
  8. 10个常见的Android新手误区
  9. Android与IOS异同点对比(1)------ 显示
  10. android前端怎样php后台交互(基础篇)