Как получить список контактов в Qt на Android

966
08 января 2017, 16:56

Я написал простую функцию на java в Android Studio, которая склеивает список контактов в строку. Данные хранятся в xml. Сама функция работает отлично. Но когда я пытаюсь вызвать её в Qt через QAndroidJniObject, выдаёт ошибки. Если удалить из функции весь код и оставить один return, то значение передастся... Пожалуйста, помогите вытянуть эту строку в C++

public String getcontactlist() {
    ActivityCompat.requestPermissions(this, new String[ {Manifest.permission.READ_CONTACTS}, 1);     //Запрос прав на получение контактов
                                      String fetch = "<root>";     //Создание строки и корневого элемента
                                      Cursor phones = getContentResolver().query(
                                              ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, null, null,
                                              null);               //Получаю телефоны
    while (phones.moveToNext()) {
        String name = phones.getString(phones.getColumnIndex(
                                           ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
        String phoneNumber = phones.getString(phones.getColumnIndex(
                ContactsContract.CommonDataKinds.Phone.NUMBER));
        fetch += "<item><name>" + name + "</name><number>" + phoneNumber +
                 "</number></item>";//В цикле приписываю к строке
    }
    fetch += "</root>"; добавляю закрывающий тег
             return fetch; //Возвращаю значение
}

Кроме самой функции, отправляю исходник проекта на Qt. Пожалуйста, помогите получить список контактов https://drive.google.com/open?id=0B434-oBPl5BmTV9vbFNHa0xGamc

Вызов происходит через слот C++ класса BackEnd. Сама java функция находится в android/src/com/example/contacts/fetch/ в файле FetchClass.java и имеет заголовок getContacts

READ ALSO
Как разложить число на множители

Как разложить число на множители

Не получается разложить число х на множители:

653
Получить содержимое attachments -&gt; video [JSON] Java

Получить содержимое attachments -> video [JSON] Java

Имеется следующая структура JSON:

453
Spring security авторизация пользователя

Spring security авторизация пользователя

Пытаюсь разобраться как реаизовать авторизацию, получилось сдлеать, но только работает до перезапуска браузера

798
Два активити используют один метод, как сделать его отдельно?

Два активити используют один метод, как сделать его отдельно?

Учусь на курсах програмированияУ меня есть два идентичных активити

471