package cn.wildfire.chat.kit.contact;
|
|
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 cn.wildfire.chat.kit.contact.model.PhoneDto;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.regex.Matcher;
|
import java.util.regex.Pattern;
|
|
/**
|
* @author kimi
|
* @description
|
* @date 2021-01-04 23:02
|
*/
|
|
|
public class PhoneUtil {
|
// 号码
|
public final static String NUM = ContactsContract.CommonDataKinds.Phone.NUMBER;
|
// 联系人姓名
|
public final static String NAME = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME;
|
|
//上下文对象
|
private Context context;
|
//联系人提供者的uri
|
private Uri phoneUri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
|
|
public PhoneUtil(Context context) {
|
this.context = context;
|
}
|
|
//获取所有联系人
|
public List<PhoneDto> getPhone() {
|
List<PhoneDto> phoneDtos = new ArrayList<>();
|
ContentResolver cr = context.getContentResolver();
|
Cursor cursor = cr.query(phoneUri, new String[]{NUM, NAME}, null, null, null);
|
while (cursor.moveToNext()) {
|
String phone = cursor.getString(cursor.getColumnIndex(NUM));
|
phone = replaceAllBlank(phone);
|
PhoneDto phoneDto = new PhoneDto(cursor.getString(cursor.getColumnIndex(NAME)), phone);
|
phoneDtos.add(phoneDto);
|
}
|
return phoneDtos;
|
|
}
|
|
public static String replaceAllBlank(String str) {
|
if (TextUtils.isEmpty(str)) {
|
return str;
|
}
|
Pattern p = Pattern.compile("\\s*|\t|\r|\n");
|
Matcher m = p.matcher(str);
|
return m.replaceAll("");
|
}
|
|
}
|