Как я могу показать предварительно заполненный почтовый адрес на экране контактов с улицы, города, почтовый индекс на Android
Я использую следующий код для заполнения контактов в Android:
Intent addContactIntent = new Intent(Intent.ACTION_INSERT);
addContactIntent.setType(ContactsContract.Contacts.CONTENT_TYPE);
addContactIntent.putExtra(ContactsContract.Intents.Insert.NAME, "Store Name");
addContactIntent.putExtra(ContactsContract.Intents.Insert.PHONE, "1-869-270-9099");
addContactIntent.putExtra(ContactsContract.Intents.Insert.POSTAL, "postal address");*
Но мне также нужно заполнить город, улицу и почтовый индекс по почтовому адресу. Как заполнить эти поля, используя приведенный выше код? Или любой другой способ сделать это.
1 ответ
Хорошо, вот что я сделал.
ArrayList<ContentValues> data = new ArrayList<ContentValues>();
//Email
ContentValues row1 = new ContentValues();
row1.put(Data.MIMETYPE, Email.CONTENT_ITEM_TYPE);
row1.put(Email.ADDRESS, "ADDRESSme");
data.add(row1);
//Website
ContentValues row2 = new ContentValues();
row2.put(Data.MIMETYPE, Website.CONTENT_ITEM_TYPE);
row2.put(Website.URL, "URLme");
data.add(row2);
//name
ContentValues row3 = new ContentValues();
row3.put(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE);
row3.put(StructuredName.DISPLAY_NAME, "NameMe");
data.add(row3);
//Address
ContentValues row4 = new ContentValues();
row4.put(Data.MIMETYPE, StructuredPostal.CONTENT_ITEM_TYPE);
row4.put(StructuredPostal.CITY, "CityMe");
row4.put(StructuredPostal.COUNTRY, "COUNTRYme");
row4.put(StructuredPostal.STREET, "STREETme");
row4.put(StructuredPostal.POSTCODE, "POSTCODEme");
data.add(row4);
//Phone
ContentValues row5 = new ContentValues();
row5.put(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE);
row5.put(Phone.NUMBER, "NUMBERme");
data.add(row5);
Intent i = new Intent(Intent.ACTION_INSERT, Contacts.CONTENT_URI);
i.putParcelableArrayListExtra(Insert.DATA, data);
Но я должен напомнить, что Insert.DATA доступна только с уровня API 11. Так что это решение работает только для Android 3.0+.
Если у вас есть лучшее решение, пожалуйста, дайте мне знать.