2011-10-07 2 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 이하를 사용해야하는 경우 연락처로 작업하는 것이 약간 어렵습니다.

관련 문제