Для импорта контактов в Android 14 можно использовать `ContactsContract` API. Этот API позволяет взаимодействовать с адресной книгой телефона, добавлять, обновлять и удалять контакты.
Вот основные шаги, которые вам нужно будет выполнить, чтобы реализовать импорт контактов из текстового файла в Android-приложении:
1. **Считывание данных**: Используйте язык программирования для парсинга текстового файла и извлечения имен и телефонных номеров. Это можно сделать на Python, C# или любом другом удобном для вас языке.
2. **Запрос разрешений**: Перед тем как добавить контакты, убедитесь, что ваше приложение имеет необходимые разрешения. Для этого добавьте в `AndroidManifest.xml` следующие строки:
```xml
<uses-permission android:name="android.permission.WRITE_CONTACTS" />
<uses-permission android:name="android.permission.READ_CONTACTS" />
```
Также не забудьте запросить разрешения у пользователя в рантайме, если ваше приложение работает на Android 6.0 и выше.
3. **Использование ContentResolver для добавления контактов**:
Вот пример кода на Java, который демонстрирует, как можно добавить контакт в адресную книгу:
```java
ContentValues values = new ContentValues();
values.put(ContactsContract.RawContacts.CONTENT_TYPE, ContactsContract.CommonDataKinds.Phone.CONTENT_ITEM_TYPE);
Uri rawContactUri = getContentResolver().insert(ContactsContract.RawContacts.CONTENT_URI, values);
long rawContactId = ContentUris.parseId(rawContactUri);
// Добавляем номер телефона
values.clear();
values.put(ContactsContract.CommonDataKinds.Phone.NUMBER, "номер_телефона");
values.put(ContactsContract.CommonDataKinds.Phone.RAW_CONTACT_ID, rawContactId);
values.put(ContactsContract.CommonDataKinds.Phone.TYPE, ContactsContract.CommonDataKinds.Phone.TYPE_MOBILE);
getContentResolver().insert(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, values);
// Добавляем имя
values.clear();
values.put(ContactsContract.CommonDataKinds.StructuredName.DISPLAY_NAME, "Имя_человека");
values.put(ContactsContract.CommonDataKinds.StructuredName.RAW_CONTACT_ID, rawContactId);
getContentResolver().insert(ContactsContract.Data.CONTENT_URI, values);
```
4. **Автоматизация импорта**: Проходите по всем извлеченным контактам и создавайте для каждого из них записи в адресной книге.
### Готовые решения
Существует множество готовых библиотек для работы с контактами на Android, но чаще всего их использование связано с более сложными задачами, которые требуют дополнительных функций. Если вам нужна простая реализация, то использование `ContactsContract` будет самым оптимальным решением.
### Примечания
- Убедитесь, что ваше приложение корректно обрабатывает ошибки и исключения, связанные с добавлением контактов.
- Также подумайте над тем, как обрабатывать дубликаты записей (если контакт с таким номером уже существует в адресной книге).
Если у вас есть вопросы о конкретных частях кода или реализации, не стесняйтесь задавать их!