Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Необходимо разработать мобильное приложение для Android, выполняющее следующие функции:

1.      Запуск Foreground Service

2.      Запрос разрешений доступа к адресной книге Android

3.      Интеграция с управляющим приложением по API для получения настроек: https://h-mdm.com/headwind-mdm-api/  (есть рабочие примеры, откуда можно взять код)

4.      Периодическая (согласно полученным настройкам) загрузка VCF файла с адресной книгой, разбор контактов и сохранение их в адресной книге

5.      Простенькая стартовая Activity, в которой будет виден статус подключения к Headwind MDM (управляющему приложению), а также кнопка ручной загрузки и синхронизации контактов.

Язык программирования – JAVA.

Синхронизация осуществляется только для контактов с заданным значением параметра ACCOUNT_TYPE. Алгоритм синхронизации следующий:

- загружаются все контакты из адресной книги, имеющие заданный ACCOUNT_TYPE;

- каждый контакт сравнивается с пришедшей из Интернета адресной книгой (ключом является имя контакта); если в пришедшем файле данные не соответствуют имеющимся – то имеющиеся на устройстве данные заменяются на загруженные. Т.е. загруженные данные всегда приоритетнее.

- все контакты, не присутствующие в адресной книге из Интернета, имеющие заданный ACCOUNT_TYPE, удаляются.

- В случае, если на сервере установлен флаг «удалить всеконтакты», то удаляются не только контакты с заданным ACCOUNT_TYPE, но и все остальные.

В приложении должны приниматься с сервера следующие настройки:

sync_timespan –интервал в секундах между синхронизациями

account_type– значение параметра ACCOUNT_TYPE

vcf_url –адрес, с которого нужно загружать контакты

http_username –имя пользователя для авторизации доступа к адресу

http_password –пароль для авторизации доступа к адресу

wipe_all –флаг (0/1), значение 1 означает, что нужно удалить все контакты, не только имеющие определенное значение account_type.

Есть пример кода, из которого можно брать куски для упрощения работы: https://github.com/h-mdm/hmdm-android-plugin-pager

 

4 года назад
headwind
Майоров 
44 годаРоссия
12 лет в сервисе
Был
3 года назад