android获取通讯录所有电话
16lz
2021-01-26
package com.example.call;
import com.example.contacts.R;
import android.os.Bundle;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Contacts.Photo;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
public class AddressActivity extends Activity {
protected static final String ACTIVITY_TAG = "MyAndroid";
@SuppressLint("InlinedApi")
// 获取库Phon表字段
private static final String[] PHONES_PROJECTION = new String[] {
Phone.DISPLAY_NAME, Phone.NUMBER, Photo.PHOTO_ID, Phone.CONTACT_ID };
// 联系人显示名称
private static final int PHONES_DISPLAY_NAME_INDEX = 0;
// 电话号码
private static final int PHONES_NUMBER_INDEX = 1;
// 联系人的ID
private static final int PHONES_CONTACT_ID_INDEX = 3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_address);
ContentResolver resolver = getContentResolver();
// 获取手机联系人
Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,
PHONES_PROJECTION, null, null, null);
if (phoneCursor != null) {
while (phoneCursor.moveToNext()) {
// 得到手机号码
String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);
// 当手机号码为空的或者为空字段 跳过当前循环
if (TextUtils.isEmpty(phoneNumber))
continue;
// 得到联系人名称
String contactName = phoneCursor
.getString(PHONES_DISPLAY_NAME_INDEX);
// 得到联系人ID
Long contactid = phoneCursor.getLong(PHONES_CONTACT_ID_INDEX);
// 打印出来
Log.d(AddressActivity.ACTIVITY_TAG, phoneNumber + "\n"
+ contactName);
}
phoneCursor.close();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.address, menu);
return true;
}
}
import com.example.contacts.R;
import android.os.Bundle;
import android.provider.ContactsContract.CommonDataKinds.Phone;
import android.provider.ContactsContract.Contacts.Photo;
import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.text.TextUtils;
import android.util.Log;
import android.view.Menu;
public class AddressActivity extends Activity {
protected static final String ACTIVITY_TAG = "MyAndroid";
@SuppressLint("InlinedApi")
// 获取库Phon表字段
private static final String[] PHONES_PROJECTION = new String[] {
Phone.DISPLAY_NAME, Phone.NUMBER, Photo.PHOTO_ID, Phone.CONTACT_ID };
// 联系人显示名称
private static final int PHONES_DISPLAY_NAME_INDEX = 0;
// 电话号码
private static final int PHONES_NUMBER_INDEX = 1;
// 联系人的ID
private static final int PHONES_CONTACT_ID_INDEX = 3;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_address);
ContentResolver resolver = getContentResolver();
// 获取手机联系人
Cursor phoneCursor = resolver.query(Phone.CONTENT_URI,
PHONES_PROJECTION, null, null, null);
if (phoneCursor != null) {
while (phoneCursor.moveToNext()) {
// 得到手机号码
String phoneNumber = phoneCursor.getString(PHONES_NUMBER_INDEX);
// 当手机号码为空的或者为空字段 跳过当前循环
if (TextUtils.isEmpty(phoneNumber))
continue;
// 得到联系人名称
String contactName = phoneCursor
.getString(PHONES_DISPLAY_NAME_INDEX);
// 得到联系人ID
Long contactid = phoneCursor.getLong(PHONES_CONTACT_ID_INDEX);
// 打印出来
Log.d(AddressActivity.ACTIVITY_TAG, phoneNumber + "\n"
+ contactName);
}
phoneCursor.close();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.address, menu);
return true;
}
}
更多相关文章
- android 通话记录插入 短信插入 联系人插入
- Android调用系统的库
- Android(安卓)编辑联系人,增、删、改代码
- Mms模块ConversationList流程分析
- android 多选联系人
- Android联系人自动过滤并显示“新建联系人”
- Android开发学习之电话、短信、联系人
- 【URI】Android常用URI
- 操作Android中联系人,通话记录,短息,的URI,和具体的查询语句,字段注解