直播商城源码android获取联系人和搜索联系人
获取联系人需要有读取联系人权限<uses-permission android:name="android.permission.READ_CONTACTS" />import android.content.ContentResolver;import android.content.Context;import android.database.Cursor;import andr
·
获取联系人需要有读取联系人权限
<uses-permission android:name="android.permission.READ_CONTACTS" />
import android.content.ContentResolver;
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract;
import android.text.TextUtils;
import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PhoneUtils {
private static Context context = BaseApplication.context;
/**
* 获取所有联系人
* @return
*/
public static List<DirectoriesBean> getDirectories(){
// 号码
String NUM = ContactsContract.CommonDataKinds.Phone.NUMBER;
// 联系人姓名
String NAME = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME;
String PHOTO = ContactsContract.CommonDataKinds.Phone.PHOTO_URI;
String ID = ContactsContract.CommonDataKinds.Phone.CONTACT_ID;
//获取联系人信息的Uri
Uri uri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
//获取ContentResolver
ContentResolver contentResolver = context.getContentResolver();
//查询数据,返回Cursor
Cursor cursor = contentResolver.query(uri, null, null, null, null);
List<DirectoriesBean> list = new ArrayList<>();
while (cursor.moveToNext()) {
String name = cursor.getString(cursor.getColumnIndex(NAME));
String phone = cursor.getString(cursor.getColumnIndex(NUM));
String photo = cursor.getString(cursor.getColumnIndex(PHOTO));
String id = cursor.getString(cursor.getColumnIndex(ID));
list.add(new DirectoriesBean(id,name,phone,TextUtils.isEmpty(photo)?null:Uri.parse(photo)));
}
return list;
}
/**
* 搜索联系人
* @param search 可以是姓名或者号码
* @return
*/
public static List<DirectoriesBean> searchDirectories(String search){
List<DirectoriesBean> list = getDirectories();
List<DirectoriesBean> list2 = new ArrayList<>();
if(isDigit(search)){
for (DirectoriesBean b : list){
if(b.getPhone().contains(search))
list2.add(b);
}
}else {
for (DirectoriesBean b : list){
if(b.getName().contains(search))
list2.add(b);
}
}
return list2;
}
/**
判断一个字符串是否都为数字
*/
public static boolean isDigit(String strNum) {
if(TextUtils.isEmpty(strNum))
return false;
Pattern pattern = Pattern.compile("[0-9]{1,}");
Matcher matcher = pattern.matcher((CharSequence) strNum);
return matcher.matches();
}
}
public class DirectoriesBean {
private Uri photo;
private String name;
private String phone;
private String id;
public DirectoriesBean(String id, String name, String phone,Uri photo) {
this.photo = photo;
this.name = name;
this.phone = phone;
this.id = id;
}
public DirectoriesBean() {
}
public Uri getPhoto() {
return photo;
}
public void setPhoto(Uri photo) {
this.photo = photo;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
@Override
public String toString() {
return "DirectoriesBean{" +
"photo=" + photo +
", name='" + name + '\'' +
", phone='" + phone + '\'' +
", id='" + id + '\'' +
'}';
}}
更多推荐
已为社区贡献3条内容
所有评论(0)