获取系统联系人信息
来源:互联网 发布:广州住宅成交数据 编辑:程序博客网 时间:2024/05/21 19:15
java文件
public class SelectContactActivity extends Activity {
private ListView lv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_select_contact);
lv = (ListView) findViewById(R.id.lv_select_contact);
final List<Map<String, String>> data = getContactInfos();
lv.setAdapter(new SimpleAdapter(this, data, R.layout.list_contact_item,
new String[]{"name","phone"}, new int[]{R.id.tv_name,R.id.tv_phone}));
// lv.setOnItemClickListener(new OnItemClickListener() {
//
// @Override
// public void onItemClick(AdapterView<?> parent, View view,
// int position, long id) {
// String phone = data.get(position).get("phone");
// Intent intent = new Intent();
// intent.putExtra("phone", phone);
// setResult(0, intent);
// finish();
// }
// });
}
/**
* 获取系统的所有的联系人信息.
*
* @return
*/
public List<Map<String, String>> getContactInfos() {
List<Map<String, String>> data = new ArrayList<Map<String, String>>();
ContentResolver resolver = getContentResolver();
Uri uri = Uri.parse("content://com.android.contacts/raw_contacts");
Uri datauri = Uri.parse("content://com.android.contacts/data");
// 查询raw_contact表 取联系人id
Cursor cursor = resolver.query(uri, new String[] { "contact_id" },
null, null, null);
while (cursor.moveToNext()) {
String id = cursor.getString(0);
System.out.println("联系人的id为:" + id);
if (id != null) {
Map<String, String> map = new HashMap<String, String>();
// 查询data表 把当前联系人的数据给取出来.
Cursor dataCursor = resolver.query(datauri, null,
"raw_contact_id=?", new String[] { id }, null);
while (dataCursor.moveToNext()) {
String data1 = dataCursor.getString(dataCursor
.getColumnIndex("data1"));
String mimetype = dataCursor.getString(dataCursor
.getColumnIndex("mimetype"));
if ("vnd.android.cursor.item/phone_v2".equals(mimetype)) {
System.out.println("电话:" + data1);
map.put("phone", data1);
} else if ("vnd.android.cursor.item/email_v2"
.equals(mimetype)) {
System.out.println("邮件地址:" + data1);
map.put("email", data1);
} else if ("vnd.android.cursor.item/name".equals(mimetype)) {
System.out.println("姓名:" + data1);
map.put("name", data1);
}
}
data.add(map);
dataCursor.close();
}
}
cursor.close();
return data;
}
}
布局文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context="${relativePackage}.${activityClass}" >
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lv_select_contact"/>
</LinearLayout>
List布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_name"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/tv_phone"/>
</LinearLayout>
获取权限
<uses-permission android:name="android.permission.READ_CONTACTS"/>
- 获取系统联系人信息
- 获取系统联系人信息
- 获取系统联系人信息
- 获取系统联系人信息
- 获取系统的联系人信息
- Android系统联系人信息获取
- Android系统联系人信息获取
- 关于Android开发获取系统联系人信息
- 使用系统ContentProvider获取联系人信息
- android分页查询获取系统联系人信息
- Android中 获取系统联系人信息
- 获取Android系统的联系人信息
- IOS获取系统通讯录联系人信息
- IOS获取系统通讯录联系人信息
- IOS获取系统通讯录联系人信息
- Android初级教程获取手机系统联系人信息
- IOS获取系统通讯录联系人信息
- iOS 调用系统通讯录 获取联系人信息
- 怎么让cmd命令行不关闭
- 安卓 jni 开发之 native 方法的动态注册
- [面试] 算法(二)—— 第一个出现一次的字符(第一个出现 k 次、出现最多次)
- JavaScript编程全解学习日志 二
- java关键字浅析
- 获取系统联系人信息
- Android Studio 配置 gradle 脚本错误:Gradle DSL method not found: 'minus()
- XFire创建WebService实例应用
- ZM809是一款全球最小的3G安卓智能模块
- Visual Studio中自动添加自定义消息映射
- Javascript初学好玩
- hdu1244 Max Sum Plus Plus Plus--DP
- Server Tomcat v7.0 Server at localhost failed to start错误
- Java中堆内存和栈内存详解