Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java ME (J2ME) > Android Contacts via Intent


Автор: hunterman 10.9.2009, 12:24
Добрый день. Никто не сталкивался с созданием контакта через Intent? Проблема состоит в том что при 
Код

Intent addPersonIntent = new Intent(Intent.ACTION_INSERT_OR_EDIT);

            addPersonIntent.putExtra(Insert.NAME, "name");
            addPersonIntent.setType(Contacts.People.DISPLAY_NAME);

            addPersonIntent.putExtra(Insert.PHONE, Uri.decode("(012)31542321");
            addPersonIntent.putExtra(Insert.PHONE_TYPE,    Contacts.Phones.TYPE_MOBILE);
            addPersonIntent.setType(Contacts.People.CONTENT_ITEM_TYPE);

            addPersonIntent.putExtra(Insert.PHONE, Uri.decode("123123123"));
            addPersonIntent.putExtra(Insert.PHONE_TYPE,    Contacts.Phones.TYPE_WORK);
            addPersonIntent.setType(Contacts.People.CONTENT_ITEM_TYPE);

            addPersonIntent.putExtra(Insert.EMAIL, Uri.decode("[email protected]"));
            addPersonIntent.putExtra(Insert.EMAIL_TYPE,    Contacts.ContactMethodsColumns.TYPE_WORK);
            addPersonIntent.setType(Contacts.People.CONTENT_ITEM_TYPE);

            addPersonIntent.putExtra(Contacts.COMPANY, "super organization");
            addPersonIntent.putExtra(Contacts.Organizations.TYPE, Contacts.Organizations.TYPE_WORK);
            addPersonIntent.setType(Contacts.People.CONTENT_ITEM_TYPE);


во-первых, поле организации не создаётся, во-вторых, нет возможности добавить сразу 2 и более номера телефона. ну и установить изображение контакту я так понял вообще нет возможности при таком раскладе. 

буду рад любой наводке на решение этих проблем. заранее спасибо.

Автор: CTAPbIuMABP 10.9.2009, 14:19
если я правильно понимаю 
addPersonIntent.putExtra просто хранит строки как HashMap

Код

            addPersonIntent.putExtra("phone1", Uri.decode("(012)31542321");
            addPersonIntent.putExtra("phone2", Uri.decode("123123123"));





Автор: hunterman 10.9.2009, 16:38
Цитата(CTAPbIuMABP @  10.9.2009,  14:19 Найти цитируемый пост)
если я правильно понимаю addPersonIntent.putExtra просто хранит строки как HashMapКодincludeSyntax('java');            addPersonIntent.putExtra("phone1", Uri.decode("(012)31542321");            addPersonIntent.putExtra("phone2", Uri.decode("123123123"));


да ты впринципе прав HashMap. Только вот в качестве ключа идёт имя столбца в таблице контактов. В классе Insert хранятся как раз эти названия, но вот что делать если я хочу несколько добавить телефонов, email-адресов и т.п. не ясно как их обозначать. Поэтому я подумал вначале что может это может в действительности MultiMap... но оно не подтвердилось. Может еще какие-нибудь идеи есть?

Автор: CTAPbIuMABP 10.9.2009, 19:39
да я бы сам хотел знать как хранить на этой штуке List<HashMap<String, ?>>
я буду разбираться, если чтото нарою отпишу тут

ЗЫ или постучи мне в аську

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)