網頁

Google Search

2014年3月24日 星期一

2014-03-24 [筆記] 實作Android新增刪除聯絡人程式

由於之前再練習寫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

沒有留言:

張貼留言

歡迎大家指教 :)
如果在文章中關於技術方面有誤還請大家指證,謝謝!