欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android保存聯(lián)系人到通訊錄的方法

 更新時間:2017年07月20日 11:57:09   作者:zhonglunshun  
怎么保存聯(lián)系人數(shù)據(jù)到本機(jī)通訊錄?這篇文章主要為大家詳細(xì)介紹了Android保存聯(lián)系人到通訊錄的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下

上一篇文章講了如何獲取所有聯(lián)系人,這篇文章就講下怎么保存聯(lián)系人數(shù)據(jù)到本機(jī)通訊錄。這里我就假設(shè)你已經(jīng)拿到了要保存的聯(lián)系人數(shù)據(jù)。 

因為是一個工具類,所以我這里就只給一個方法了,也是很簡單,但是寫的沒有讀取聯(lián)系人的數(shù)據(jù)那么多,要保存更多其實(shí)看下如何讀取的就會了。

直接上源碼: 

/** 
   * 添加聯(lián)系人到本機(jī) 
   * 
   * @param context 
   * @param contact 
   * @return 
   */ 
  public static boolean addContact(Context context, ContactEntity contact) { 
    try { 
      ContentValues values = new ContentValues(); 
 
      // 下面的操作會根據(jù)RawContacts表中已有的rawContactId使用情況自動生成新聯(lián)系人的rawContactId 
      Uri rawContactUri = context.getContentResolver().insert( 
          RawContacts.CONTENT_URI, values); 
      long rawContactId = ContentUris.parseId(rawContactUri); 
 
      // 向data表插入姓名數(shù)據(jù) 
      String name = contact.getName(); 
      if (name != "") { 
        values.clear(); 
        values.put(Data.RAW_CONTACT_ID, rawContactId); 
        values.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE); 
        values.put(StructuredName.GIVEN_NAME, name); 
        context.getContentResolver().insert( 
            ContactsContract.Data.CONTENT_URI, values); 
      } 
 
      // 向data表插入電話數(shù)據(jù) 
      String mobile_number = contact.getPhone1().get(0); 
      if (mobile_number != "") { 
        values.clear(); 
        values.put(Data.RAW_CONTACT_ID, rawContactId); 
        values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE); 
        values.put(Phone.NUMBER, mobile_number); 
        values.put(Phone.TYPE, Phone.TYPE_MOBILE); 
        context.getContentResolver().insert( 
            ContactsContract.Data.CONTENT_URI, values); 
      } 
 
      // 向data表插入Email數(shù)據(jù) 
      String email = contact.getEmail(); 
      if (email != "") { 
        values.clear(); 
        values.put(Data.RAW_CONTACT_ID, rawContactId); 
        values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE); 
        values.put(Email.DATA, email); 
        values.put(Email.TYPE, Email.TYPE_WORK); 
        context.getContentResolver().insert( 
            ContactsContract.Data.CONTENT_URI, values); 
      } 
 
      // 向data表插入QQ數(shù)據(jù) 
      String qq = contact.getQq(); 
      if (qq != "") { 
        values.clear(); 
        values.put(Data.RAW_CONTACT_ID, rawContactId); 
        values.put(Data.MIMETYPE, Im.CONTENT_ITEM_TYPE); 
        values.put(Im.DATA, qq); 
        values.put(Im.PROTOCOL, Im.PROTOCOL_QQ); 
        context.getContentResolver().insert( 
            ContactsContract.Data.CONTENT_URI, values); 
      } 
 
      // 向data表插入備注信息 
      String describe = contact.getDescribe(); 
      if (describe != "") { 
        values.clear(); 
        values.put(Data.RAW_CONTACT_ID, rawContactId); 
        values.put(Data.MIMETYPE, Note.CONTENT_ITEM_TYPE); 
        values.put(Note.NOTE, describe); 
        context.getContentResolver().insert( 
            ContactsContract.Data.CONTENT_URI, values); 
      } 
 
      // 向data表插入頭像數(shù)據(jù) 
      Bitmap sourceBitmap = BitmapFactory.decodeResource( 
          context.getResources(), R.drawable.icon); 
      final ByteArrayOutputStream os = new ByteArrayOutputStream(); 
      // 將Bitmap壓縮成PNG編碼,質(zhì)量為100%存儲 
      sourceBitmap.compress(Bitmap.CompressFormat.PNG, 100, os); 
      byte[] avatar = os.toByteArray(); 
      values.put(Data.RAW_CONTACT_ID, rawContactId); 
      values.put(Data.MIMETYPE, Photo.CONTENT_ITEM_TYPE); 
      values.put(Photo.PHOTO, avatar); 
      context.getContentResolver().insert( 
          ContactsContract.Data.CONTENT_URI, values); 
    } 
 
    catch (Exception e) { 
      return false; 
    } 
    return true; 
   } 

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論