2011-10-07 50 views
0
String DisplayName = "XYZ"; 
String MobileNumber = "123456"; 
String HomeNumber = "1111"; 
String WorkNumber = "2222"; 
String emailID = "[email protected]"; 
String company = "bad"; 
String jobTitle = "abcd"; 


        ArrayList<ContentProviderOperation> ops = new ArrayList<ContentProviderOperation>(); 
        ops.add(ContentProviderOperation.newInsert(ContactsContract.RawContacts.CONTENT_URI) 
          .withValue(ContactsContract.RawContacts.ACCOUNT_TYPE, null) 
          .withValue(ContactsContract.RawContacts.ACCOUNT_NAME, null) 
          .build()); 

        //------------------------------------------------------ Names 
        if(DisplayName != null) 
        { 
         ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) 
           .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) 
           .withValue(ContactsContract.Data.MIMETYPE, 
             ContactsContract.CommonDataKinds.StructuredName.CONTENT_ITEM_TYPE) 
           .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, DisplayName).build()); 
        }      
        //------------------------------------------------------ Mobile Number 
        if(MobileNumber != null) 
        { 
         ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) 
           .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) 
           .withValue(ContactsContract.Data.MIMETYPE, 
             ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE) 
           .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, MobileNumber) 
           .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, 
             ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE) 
           .build()); 
        } 

        //------------------------------------------------------ Home Numbers 
        if(HomeNumber != null) 
        { 
         ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) 
           .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) 
           .withValue(ContactsContract.Data.MIMETYPE, 
             ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE) 
           .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, HomeNumber) 
           .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, 
             ContactsContract.CommonDataKinds.Phone.TYPE_HOME) 
           .build()); 
        } 

        //------------------------------------------------------ Work Numbers 
        if(WorkNumber != null) 
        { 
         ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) 
           .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) 
           .withValue(ContactsContract.Data.MIMETYPE, 
             ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE) 
           .withValue(ContactsContract.CommonDataKinds.Phone.NUMBER, WorkNumber) 
           .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, 
             ContactsContract.CommonDataKinds.Phone.TYPE_WORK) 
           .build()); 
        } 

        //------------------------------------------------------ Email 
        if(emailID != null) 
        { 
         ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) 
            .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) 
            .withValue(ContactsContract.Data.MIMETYPE, 
              ContactsContract.CommonDataKinds.Email.CONTENT_ITEM_TYPE) 
            .withValue(ContactsContract.CommonDataKinds.Email.DATA, emailID) 
            .withValue(ContactsContract.CommonDataKinds.Email.TYPE, ContactsContract.CommonDataKinds.Email.TYPE_WORK) 
            .build()); 
        } 

        //------------------------------------------------------ Organization 
        if(!company.equals("") && !jobTitle.equals("")) 
        { 
         ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) 
           .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) 
           .withValue(ContactsContract.Data.MIMETYPE, 
             ContactsContract.CommonDataKinds.Organization.CONTENT_ITEM_TYPE) 
           .withValue(ContactsContract.CommonDataKinds.Organization.COMPANY, company) 
           .withValue(ContactsContract.CommonDataKinds.Organization.TYPE, ContactsContract.CommonDataKinds.Organization.TYPE_WORK) 
           .withValue(ContactsContract.CommonDataKinds.Organization.TITLE, jobTitle) 
           .withValue(ContactsContract.CommonDataKinds.Organization.TYPE, ContactsContract.CommonDataKinds.Organization.TYPE_WORK) 
           .build()); 
        } 

        // Asking the Contact provider to create a new contact     
        try 
        { 
         getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 
        } 
        catch (Exception e) 
        {    
         e.printStackTrace(); 
         Toast.makeText(myContext, "Exception: " + e.getMessage(), Toast.LENGTH_SHORT).show(); 
        } 

我的代碼之上,但是當它調用applyBatch()函數,它提供了錯誤的
"The method applyBatch(String, ArrayList<ContentProviderOperation>) is undefined for the type ContentResolver" 我該如何解決呢?我有問題,當我插入新的聯繫人

回答

1

該功能僅適用於API級別5(即Android 2.0)。使用更新的手機,或者爲更新的api級別創建模擬器。 如果您必須使用低於api級別5,那麼使用聯繫人有點困難。

相關問題