2011-01-20 5 views
1

私のアプリでは、標準の作成/編集連絡先アクティビティを呼び出すことで連絡先を作成しようとしています。標準で事前に連絡先を作成するアクティビティ

私はそれを動作させる方法を見つけましたが、私が好きな方法ではありません。次の画像で見ることができるように、全てのデータはアドレスフィールドを除いて適切に満たされている

Intent i = new Intent(ContactsContract.Intents.SHOW_OR_CREATE_CONTACT, Uri.parse(String.format("tel: %s", data.getPhone()))); 
i.addCategory(Intent.CATEGORY_DEFAULT); 
i.putExtra(ContactsContract.Intents.EXTRA_FORCE_CREATE, true); 
i.putExtra(ContactsContract.Intents.Insert.NAME, data.getName()); 
i.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK); 
i.putExtra(ContactsContract.Intents.Insert.PHONE, org.getPhone()); 
i.putExtra(ContactsContract.Intents.Insert.POSTAL_TYPE, ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK); 
i.putExtra(ContactsContract.Intents.Insert.POSTAL, org.getAddress() + " " + org.getZipCode()); 
i.putExtra(ContactsContract.Intents.Insert.EMAIL_TYPE, ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK); 
i.putExtra(ContactsContract.Intents.Insert.EMAIL, org.getEmail()); 
startActivity(i); 

は、今の私は、標準では、以下の目的の余分との接触アクティビティを作成呼び出すために管理http://img689.imageshack.us/img689/1073/capturevvm.png

アドレスの各部分を別のフィールドに指定したいと思います。インテントでそれを行う方法はありますか?

私はこれを試しましたが、動作しませんでした。

i.putExtra(ContactsContract.CommonDataKinds.StructuredPostal.CONTENT_ITEM_TYPE, ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK); 
i.putExtra(ContactsContract.CommonDataKinds.StructuredPostal.STREET, "toto"); 
i.putExtra(ContactsContract.CommonDataKinds.StructuredPostal.CITY, "paris"); 

答えて

1
contactIntent.putExtra(ContactsContract.Intents.Insert.POSTAL, "2 rue de Romme, 75000 Paris"); 
contactIntent.putExtra(ContactsContract.Intents.Insert.POSTAL_TYPE, ContactsContract.CommonDataKinds.StructuredPostal.TYPE_WORK);