Android добавить несколько телефонных номеров для контакта - PullRequest
3 голосов
/ 15 декабря 2010

с помощью Android SDK> 5, я создаю контакт, запустив действие ACTION_INSERT. Я хочу добавить несколько телефонных номеров (рабочий, домашний и т. Д.) Для контакта, используя следующий код:

Intent newIntent = new Intent(Intent.ACTION_INSERT, 
          ContactsContract.Contacts.CONTENT_URI); 

for(ContactInfo.Phone p : phones)
      {

       newIntent.putExtra(ContactsContract.Intents.Insert.PHONE, p.number);
       newIntent.putExtra(ContactsContract.Intents.Insert.PHONE_ISPRIMARY, p.isPrimary ? new Integer(1) : null);
       newIntent.putExtra(ContactsContract.Intents.Insert.PHONE_TYPE, unconvertPhoneType(p.type));

      }

(unfvertPhoneType () - это функция для получения типа CommonDataKinds.Phone.TYPE_XXX)

У меня есть только один пример, вставляемый в контакт. Что не так с вышесказанным?

Кроме того, в логах LogCat также появляется следующая ошибка:

12-14 11: 09: 03.015: WARN / Bundle (1724): ожидаемый ключ phone_type Строка, но значением был java.lang.Integer. Возвращено значение по умолчанию.

похоже, что оно исходит от PHONE_TYPE, однако CommonDataKinds.Phone.TYPE_XXX имеет целочисленный тип, поэтому я не уверен ... В чем причина этого?

Спасибо!

1 Ответ

0 голосов
/ 15 декабря 2010

LogCat сообщает, что ожидал строковое значение, а не целое число.Это твоя проблема.Номер телефона должен быть типа String.

Я извлек этот пример из официальной документации, и вы можете видеть, что номер телефона представлен в виде строки с "".это помогает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...