public class PhoneBookAgent
{
public void addMember(MemberVO memberVO, Context context)
{
Print.log("");
ContentValues contentValues = new ContentValues();
contentValues.put(ContactsContract.RawContacts.CONTACT_ID, 0);
contentValues.put(ContactsContract.RawContacts.AGGREGATION_MODE, ContactsContract.RawContacts.AGGREGATION_MODE_DISABLED);
Uri rawContactUri = context.getContentResolver().insert(ContactsContract.RawContacts.CONTENT_URI, contentValues);
long rawContactId = ContentUris.parseId(rawContactUri);
// name
contentValues.clear();
contentValues.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
contentValues.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE);
contentValues.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, memberVO.getNameString());
Uri dataUri = context.getContentResolver().insert(ContactsContract.Data.CONTENT_URI, contentValues);
// phone
contentValues.clear();
contentValues.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
contentValues.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
contentValues.put(ContactsContract.CommonDataKinds.Phone.TYPE, Phone.TYPE_MOBILE);
contentValues.put(ContactsContract.CommonDataKinds.Phone.NUMBER, memberVO.getPhoneNumberString());
dataUri = context.getContentResolver().insert(ContactsContract.Data.CONTENT_URI, contentValues);
// mail
contentValues.clear();
contentValues.put(ContactsContract.Data.RAW_CONTACT_ID, rawContactId);
contentValues.put(ContactsContract.Data.MIMETYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);
contentValues.put(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE);
contentValues.put(ContactsContract.CommonDataKinds.Email.DATA1, memberVO.getEmailString());
dataUri = context.getContentResolver().insert(ContactsContract.Data.CONTENT_URI, contentValues);
}
이렇게 추가를 하고
public ArrayList<MemberVO> getPhoneBookList(Context context)
{
Uri ContactsUri = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String id = ContactsContract.CommonDataKinds.Phone.RAW_CONTACT_ID;
String disName = ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME;
String number = ContactsContract.CommonDataKinds.Phone.NUMBER;
String email = ContactsContract.CommonDataKinds.Email.DATA1;
Print.log("disName = "+disName+", number = "+number+", email = "+email);
ArrayList<MemberVO> memberVOs = new ArrayList<MemberVO>();
Cursor cursor = context.getContentResolver().query(ContactsUri, new String[] {
id, disName, number, email}, null, null, null);
if (cursor != null)
{
cursor.moveToFirst();
while (!cursor.isAfterLast())
{
int _id = cursor.getInt(0);
String name = cursor.getString(1);
String phone = cursor.getString(2);
String mail = cursor.getString(3);
Print.log("mail = " + mail);
memberVOs.add(new MemberVO(_id, name, phone, mail));
cursor.moveToNext();
}
cursor.close();
}
return memberVOs;
}
이렇게 불러오는데요..
계속 이메일 부분에 전화번호가 찍혀서 나오네요 ㅠㅠ 뭐가 문제일까요..