5

androidを使用すると、新しい連絡先を作成するインテントを起動できます。新しい連絡先フィールドに事前に入力するために、エクストラをインテントに入れることができます。

Intent intent = new Intent(Intent.ACTION_INSERT);
intent.setType(ContactsContract.Contacts.CONTENT_TYPE);
intent.putExtra(ContactsContract.Intents.Insert.NAME, "Foo Bar");
intent.putExtra(ContactsContract.Intents.Insert.PHONE, "(408) 555-1212");
intent.putExtra(ContactsContract.Intents.Insert.EMAIL, "foo.bar@foobar.com");
startActivityForResult(intent, INSERT_CONTACT_REQUEST);

これは機能しますが、電話番号など、特定のフィールドの複数のタイプを処理する方法がわかりません。意図的に、私は追加の電話番号を追加することができ、追加の電話番号タイプを追加することができますが、別の(またはおそらく同じ)タイプで追加の電話番号を追加するにはどうすればよいですか?

4

1 に答える 1

6

ContactsContract.Intents.Insertを許可しますPHONE, SECONDARY_PHONE and TERTIARY_PHONE-同じことが当てはまりEMAIL、それぞれの3つが最大である可能性があることを示唆しています。

同じ「タイプ」の電話を複数持つことができるかどうかはわかりません。たとえば、自宅の番号を割り当てると、電話の連絡先エディタで選択肢のリストから「自宅」が削除されます。ただし、独自の「カスタム」タイプを割り当てることができます。たとえば、友達が2つの自宅番号を持っているとします...

intent.putExtra(ContactsContract.Intents.Insert.PHONE, "(123) 456-1212");
intent.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, "HOME-1");
intent.putExtra(ContactsContract.Intents.Insert.SECONDARY_PHONE, "(123) 456-2121");
intent.putExtra(ContactsContract.Intents.Insert.SECONDARY_PHONE_TYPE, "HOME-2");
于 2011-01-05T02:01:22.177 に答える