由於之前再練習寫android時所遇到的其中一個需求,資料找了很久所以今天決定上來紀錄一下。
新增聯絡人:
String Strname = ((EditText)findViewById(R.id.Strname)).getText().toString();
String Strphonenumber = ((EditText)findViewById(R.id.Strphonenumber)).getText().toString();
//創見一個空的contentvalues
ContentValues values = new ContentVaStrStrnamelues();
//向rawContacts.Content_URI執行一個空值插入,目的是獲得系統回傳的rawContactId
Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
//設定內容類型
values.put(Data.MIMETYPE, StructuredStrname.CONTENT_ITEM_TYPE);
//設定聯絡人名稱
values.put(StructuredStrname.GIVEN_Strname, Strname);
//向聯絡人Uri增加聯絡人名字
getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Strphonenumber.CONTENT_ITEM_TYPE);
//設定電話類型
values.put(Strphonenumber.TYPE, Strphonenumber.TYPE_MOBILE);
//設定聯絡人電話號碼
values.put(Strphonenumber.NUMBER, Strphonenumber);
//向聯絡人電話號碼uri增加電話號碼
getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
values.clear();
刪除聯絡人:
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
while (cur.moveToNext()) {
try{
String lookupKey = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey);
System.out.println("The uri is " + uri.toString());
cr.delete(uri, null, null);
}
catch(Exception e)
{
System.out.println(e.getStackTrace());
}
}
參考資料:
http://blog.csdn.net/woshisap/article/details/6618516
https://stackoverflow.com/questions/527216/how-to-remove-a-contact-programmatically-in-android
新增聯絡人:
String Strname = ((EditText)findViewById(R.id.Strname)).getText().toString();
String Strphonenumber = ((EditText)findViewById(R.id.Strphonenumber)).getText().toString();
//創見一個空的contentvalues
ContentValues values = new ContentVaStrStrnamelues();
//向rawContacts.Content_URI執行一個空值插入,目的是獲得系統回傳的rawContactId
Uri rawContactUri = getContentResolver().insert(RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
//設定內容類型
values.put(Data.MIMETYPE, StructuredStrname.CONTENT_ITEM_TYPE);
//設定聯絡人名稱
values.put(StructuredStrname.GIVEN_Strname, Strname);
//向聯絡人Uri增加聯絡人名字
getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
values.clear();
values.put(Data.RAW_CONTACT_ID, rawContactId);
values.put(Data.MIMETYPE, Strphonenumber.CONTENT_ITEM_TYPE);
//設定電話類型
values.put(Strphonenumber.TYPE, Strphonenumber.TYPE_MOBILE);
//設定聯絡人電話號碼
values.put(Strphonenumber.NUMBER, Strphonenumber);
//向聯絡人電話號碼uri增加電話號碼
getContentResolver().insert(android.provider.ContactsContract.Data.CONTENT_URI, values);
values.clear();
刪除聯絡人:
ContentResolver cr = getContentResolver();
Cursor cur = cr.query(ContactsContract.Contacts.CONTENT_URI,
null, null, null, null);
while (cur.moveToNext()) {
try{
String lookupKey = cur.getString(cur.getColumnIndex(ContactsContract.Contacts.LOOKUP_KEY));
Uri uri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookupKey);
System.out.println("The uri is " + uri.toString());
cr.delete(uri, null, null);
}
catch(Exception e)
{
System.out.println(e.getStackTrace());
}
}
參考資料:
http://blog.csdn.net/woshisap/article/details/6618516
https://stackoverflow.com/questions/527216/how-to-remove-a-contact-programmatically-in-android
沒有留言:
張貼留言
歡迎大家指教 :)
如果在文章中關於技術方面有誤還請大家指證,謝謝!