Android向通訊錄添加聯系人的一般方法


Android向通訊錄添加聯系人的一般方法

以一個簡單的例子加以說明,記得需要相應的權限:

 

[html]  view plain  copy
 
<uses-permission android:name="android.permission.READ_CONTACTS" />  
    <uses-permission android:name="android.permission.WRITE_CONTACTS" />  

 

測試代碼,關鍵的內容就在add函數里面。

package zhangphil.demo;  
  
import android.app.Activity;  
import android.content.ContentUris;  
import android.content.ContentValues;  
import android.net.Uri;  
import android.os.Bundle;  
import android.provider.ContactsContract.CommonDataKinds.Email;  
import android.provider.ContactsContract.CommonDataKinds.Phone;  
import android.provider.ContactsContract.CommonDataKinds.StructuredName;  
import android.provider.ContactsContract.RawContacts;  
import android.provider.ContactsContract.Data;  
import android.widget.Toast;  
  
public class MainActivity extends Activity {  
  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
        super.onCreate(savedInstanceState);  
        // setContentView(R.layout.activity_main);  
  
        addContact("zhangphil", "12345678901");  
    }  
  
    // 一個添加聯系人信息的例子  
    public void addContact(String name, String phoneNumber) {  
        // 創建一個空的ContentValues  
        ContentValues values = new ContentValues();  
  
        // 向RawContacts.CONTENT_URI空值插入,  
        // 先獲取Android系統返回的rawContactId  
        // 后面要基於此id插入值  
        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, StructuredName.CONTENT_ITEM_TYPE);  
        // 聯系人名字  
        values.put(StructuredName.GIVEN_NAME, name);  
        // 向聯系人URI添加聯系人名字  
        getContentResolver().insert(Data.CONTENT_URI, values);  
        values.clear();  
  
        values.put(Data.RAW_CONTACT_ID, rawContactId);  
        values.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);  
        // 聯系人的電話號碼  
        values.put(Phone.NUMBER, phoneNumber);  
        // 電話類型  
        values.put(Phone.TYPE, Phone.TYPE_MOBILE);  
        // 向聯系人電話號碼URI添加電話號碼  
        getContentResolver().insert(Data.CONTENT_URI, values);  
        values.clear();  
  
        values.put(Data.RAW_CONTACT_ID, rawContactId);  
        values.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);  
        // 聯系人的Email地址  
        values.put(Email.DATA, "zhangphil@xxx.com");  
        // 電子郵件的類型  
        values.put(Email.TYPE, Email.TYPE_WORK);  
        // 向聯系人Email URI添加Email數據  
        getContentResolver().insert(Data.CONTENT_URI, values);  
  
        Toast.makeText(this, "聯系人數據添加成功", Toast.LENGTH_SHORT).show();  
    }  
}  

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM