2012-02-08 6 views
1

다음 코드를 사용하여 연락처를 삽입하고 있습니다.연락처 의도 삽입 도시, 국가, 우편 번호

intent = new Intent(Intent.ACTION_INSERT); 
    intent.setType(ContactsContract.Contacts.CONTENT_TYPE); 
    intent.putExtra(ContactsContract.Intents.Insert.COMPANY,ConstantData.mainTable.getCompany_name()); 
    intent.putExtra(ContactsContract.Intents.Insert.POSTAL,ConstantData.mainTable.getAddress1()+" "+ConstantData.mainTable.getAddress2()+" "+ConstantData.mainTable.getAddress3()+",City: America"); 
    intent.putExtra(ContactsContract.Intents.Insert.PHONE,ConstantData.mainTable.getTelephone_number()); 
    intent.putExtra(ContactsContract.Intents.Insert.SECONDARY_PHONE,ConstantData.mainTable.getMobile_number()); 
    intent.putExtra(ContactsContract.Intents.Insert.EMAIL,ConstantData.mainTable.getEmail_address()); 

    startActivity(intent); 

도시, 우편 번호 및 국가를 삽입 할 수 없으므로 의도를 사용하여 삽입하는 방법 ??

+0

설명서를 보았습니까? 또는 진저 브레드 소스 코드의 소스를 검색하여 주소를 저장하는 위치를 찾는 방법은? 당신의 선택 사항을 배기 시키십시오. 그런 짧은 견지에서의 대답을 기대하지 마십시오. – JoxTraex

답변

0

연락처를 추가했지만 의도를 사용하지 않았습니다. 다음은 코드입니다.

void addingContact(String firstName, String phoneMobile, String street, String poBox, String city, String state, String zipCode, String country) 
{ 
    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 
          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.GIVEN_NAME, firstName) 
            .withValue(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, displayName).build()); 

         //--------------------- Mobile Number 
          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, phoneMobile) 
            .withValue(ContactsContract.CommonDataKinds.Phone.TYPE, 
              ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE) 
            .build()); 


//--------------------------------- address 
           ops.add(ContentProviderOperation.newInsert(ContactsContract.Data.CONTENT_URI) 
             .withValueBackReference(ContactsContract.Data.RAW_CONTACT_ID, 0) 
             .withValue(ContactsContract.Data.MIMETYPE, 
               ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE) 
             .withValue(ContactsContract.CommonDataKinds.StructuredPostal.STREET, street) 
             .withValue(ContactsContract.CommonDataKinds.StructuredPostal.CITY, city) 
             .withValue(ContactsContract.CommonDataKinds.StructuredPostal.REGION, state) 
             .withValue(ContactsContract.CommonDataKinds.StructuredPostal.COUNTRY, country) 
             .withValue(ContactsContract.CommonDataKinds.StructuredPostal.TYPE, 
               ContactsContract.CommonDataKinds.StructuredPostal.TYPE_HOME) 
             .build()); 

try 
          { 
           context.getContentResolver().applyBatch(ContactsContract.AUTHORITY, ops); 
          } 
          catch (Exception e) 
          {    
           e.printStackTrace(); 
//        Toast.makeText(this, "Exception: " + e.getMessage(), Toast.LENGTH_SHORT).show(); 
          } 
}