2012-02-08 66 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); 

但是我無法插入City,Zip-code和Country,所以如何使用Intent插入它?

+0

你看看文檔?或者如何瀏覽薑餅源代碼的來源以找到他們存儲地址的位置?儘快完善您的選擇,不要期望從這種短視的方法中得到答案。 – JoxTraex 2012-02-08 05:39:46

回答

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(); 
          } 
}