Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
zloyel
0 / 0 / 0
Регистрация: 02.03.2014
Сообщений: 4
#1

Как сохранить контакт из моей БД в телефонные контакты? - Android

05.03.2014, 15:42. Просмотров 845. Ответов 2
Метки нет (Все метки)

У меня есть приложение, в которое заносятся клиенты и сохраняются в мою базу данных. Нужно, чтобы при нажатии на кнопку, выбранный контакт сохранялся в контактах телефона. Помогите пожалуйста. Этот код не работает с БД, заносит только написанные в коде данные.

Java
1
2
3
4
5
6
7
8
9
10
case R.id.addContTelefonItem:  // добавление контакта в телефон
 
            Intent intent = new Intent(
                    ContactsContract.Intents.SHOW_OR_CREATE_CONTACT,
                    ContactsContract.Contacts.CONTENT_URI);
            intent.setData(Uri.parse());
            intent.putExtra(ContactsContract.Intents.Insert.NAME, ContactDBmoy.COLUMN_NAME);
            intent.putExtra(ContactsContract.Intents.Insert.COMPANY, "Моя");
            intent.putExtra(ContactsContract.Intents.Insert.PHONE, ContactDBmoy.COLUMN_PHONE);
            startActivity(intent);
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.03.2014, 15:42     Как сохранить контакт из моей БД в телефонные контакты?
Посмотрите здесь:

Как выбрать контакт? Android
Android Контакты с гугл аккаунта
Как можно отловить событие что все дочерние вьюхи для моей загружены? Android
Android Вывести контакт(его имя) на textview
Как получить контакты? Android
Как сохранить целочисленную переменную в кэше? Android
Android Получить контакт из телефонной книги
Android Если контакты сохранены на сим карте,то не отображается
Как сохранить все Exception Android
Android Добавление номера телефона в существующий контакт
Читаются ли контакты с Viber Android
Как сохранить ArrayList Android

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
05.03.2014, 16:30     Как сохранить контакт из моей БД в телефонные контакты? #2
zloyel, в чём собственно проблема? Запись/чтение БД, контактной книги?
zloyel
0 / 0 / 0
Регистрация: 02.03.2014
Сообщений: 4
05.03.2014, 20:04  [ТС]     Как сохранить контакт из моей БД в телефонные контакты? #3
Цитата Сообщение от YuraAAA Посмотреть сообщение
zloyel, в чём собственно проблема? Запись/чтение БД, контактной книги?
Проблема, в том что из базы читает только название столбцов и их и передает, а мне нужно, находясь в просмотре отдельного контакта, нажав на кнопку - сохранить этот контакт в телефонной книге.

Пробую вот этот код:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
case R.id.addContTelefonItem: // добавление контакта в телефон
            
            addContact(ContactDBmoy.COLUMN_NAME, ContactDBmoy.COLUMN_PHONE);
 
            return true;
 
        default:
            return super.onOptionsItemSelected(item);
 
        }
 
    }
 
    public void addContact(String name, String phone) {
     
         SQLiteDatabase sdb = cqh.getWritableDatabase();
         
        ArrayList<ContentProviderOperation> op = new ArrayList<ContentProviderOperation>(); 
      
          
      Cursor cursor = sdb.query(true, ContactDBmoy.TABLE_NAME,
                new String[] { ContactDBmoy.COLUMN_NAME, ContactDBmoy.COLUMN_PHONE }, ContactDBmoy._ID + "=" + rowId, null,
                null, null, null, null);
    
      
      
      while (cursor.moveToNext()) {
            String nameI = cursor.getString(cursor.getColumnIndex(ContactDBmoy.COLUMN_NAME));
            String phoneI = cursor.getString(cursor.getColumnIndex(ContactDBmoy.COLUMN_PHONE));
      
      
      /* Добавляем пустой контакт */ 
      op.add(ContentProviderOperation.newInsert(RawContacts.CONTENT_URI) 
           .withValue(RawContacts.ACCOUNT_TYPE, null) 
           .withValue(RawContacts.ACCOUNT_NAME, null) 
           .build()); 
      /* Добавляем данные имени */ 
      op.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) 
           .withValueBackReference(Data.RAW_CONTACT_ID, 0) 
           .withValue(Data.MIMETYPE, StructuredName.CONTENT_ITEM_TYPE) 
           .withValue(StructuredName.DISPLAY_NAME, nameI) 
           .build()); 
      /* Добавляем данные телефона */ 
      op.add(ContentProviderOperation.newInsert(Data.CONTENT_URI) 
           .withValueBackReference(Data.RAW_CONTACT_ID, 0) 
           .withValue(Data.MIMETYPE, Phone.CONTENT_ITEM_TYPE) 
           .withValue(Phone.NUMBER, phoneI) 
           .withValue(Phone.TYPE, Phone.TYPE_MOBILE) 
           .build()); 
 
      try { 
          getContentResolver().applyBatch(ContactsContract.AUTHORITY, op); 
          Toast.makeText(this, "Добавлен контакт: " + ContactDBmoy.COLUMN_NAME, Toast.LENGTH_SHORT).show();
      } catch (Exception e) { 
          Log.e("Exception: ", e.getMessage()); 
      }
  }
    }
но все равно не работает, при нажатии - выдает ошибку:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
03-05 13:54:21.403: E/AndroidRuntime(4477): FATAL EXCEPTION: main
03-05 13:54:21.403: E/AndroidRuntime(4477): java.lang.NullPointerException
03-05 13:54:21.403: E/AndroidRuntime(4477):     at ru.zloyel.manager_sutochnoy_arendy_1.ViewContactMoy.addContact(ViewContactMoy.java:185)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at ru.zloyel.manager_sutochnoy_arendy_1.ViewContactMoy.onOptionsItemSelected(ViewContactMoy.java:161)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.app.Activity.onMenuItemSelected(Activity.java:2534)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.policy.impl.PhoneWindow.onMenuItemSelected(PhoneWindow.java:958)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.view.menu.MenuBuilder.dispatchMenuItemSelected(MenuBuilder.java:735)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.view.menu.MenuItemImpl.invoke(MenuItemImpl.java:149)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.view.menu.MenuBuilder.performItemAction(MenuBuilder.java:874)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.view.menu.ListMenuPresenter.onItemClick(ListMenuPresenter.java:166)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.widget.AdapterView.performItemClick(AdapterView.java:298)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.widget.AbsListView.performItemClick(AbsListView.java:1086)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.widget.AbsListView$PerformClick.run(AbsListView.java:2859)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.widget.AbsListView$1.run(AbsListView.java:3533)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.os.Handler.handleCallback(Handler.java:615)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.os.Handler.dispatchMessage(Handler.java:92)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.os.Looper.loop(Looper.java:137)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at android.app.ActivityThread.main(ActivityThread.java:4745)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at java.lang.reflect.Method.invokeNative(Native Method)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at java.lang.reflect.Method.invoke(Method.java:511)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
03-05 13:54:21.403: E/AndroidRuntime(4477):     at dalvik.system.NativeStart.main(Native Method)
Yandex
Объявления
05.03.2014, 20:04     Как сохранить контакт из моей БД в телефонные контакты?
Ответ Создать тему
Опции темы

Текущее время: 19:48. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru