m
Feb. 12, 2019, 8:56 p.m.

Не удается запустить акселерометр в android-сервисе

sensors, QAccelerometer, Android, service, Qt

Добрый вечер.
Уже несколько дней пытаюсь решить проблему с работой акселерометра в android-сервисе. Перепробовал разные варианты, но решить проблему так и не удается.

Сервис разрабатываю как отдельное приложение. После сборки подключаю его в основной проект как .so библиотеку.

В сервисе пишу следующий код для запуска акселерометра:
в .h файле:

private: 
    QAccelerometer *m_sensor;

в .cpp файле (в конструкторе класса):

GSensorClass::GSensorClass(QObject *parent) : QObject(parent)
{
    m_sensor = new QAccelerometer(this);
    connect(m_sensor, SIGNAL(readingChanged()),
                this, SLOT(onReadingChanged()));
    m_sensor->setAlwaysOn(true); //Должен работать постоянно, даже при выключенном экране и в фоне
    m_sensor->start(); //Вот именно здесь и появляется проблема
}

m_sensor->start(); возвращает false. При этом, если вызвать m_sensor->error(), возвращает 0. Соответственно, в слот onReadingChanged войти не удается.

В файле .pro сервиса и основного проекта добавлено - QT += sensors.
В AndroidManifest.xml основного проекта добавлена строка

<uses-feature android:name="android.hardware.sensor.accelerometer" />

Если этот же код запустить в GUI-приложении под Android, все работает, координаты x,y,z удается получить. Но в сервисе (консольном приложении) метод start не срабатывает, и возвращает false.

Может быть что-то не правильно делаю? Надеюсь, что реализация получения данных от акселерометра в android-сервисе на Qt возможна?
Помогите, пожалуйста, решить проблему.

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.
3

Добрый день

А какие все модули добавлены в pro файле? Я имею ввиду QT директиву. Можно полный список?

m

Добрый день. В сервисе:

QT += core positioning network sql sensors

android {
    QT += androidextras
}

В основном приложении:

QT       += qml quick network positioning sql sensors
android {
    QT += androidextras webview
}
m

Нашел решение на Java. Удалось интегрировать в проект сервиса на Qt, теперь из Qt запускаю Java-код акселерометра.

Comments

Only authorized users can post comments.
Please, Log in or Sign up
Donate

Hello, Dear Users of EVILEG!!!

If the site helped you, then support the development of the site financially, please.

You can do it by following ways:

Thank you, Evgenii Legotckoi

D
Nov. 15, 2019, 10:16 a.m.
Daulet

C ++ - Test 004. Pointers, Arrays and Loops

  • Result:40points,
  • Rating points-8
LP
Nov. 12, 2019, 7:22 p.m.
Lev Parhimovich

C++ - Test 006. Enumerations

  • Result:50points,
  • Rating points-4
LP
Nov. 12, 2019, 6:35 p.m.
Lev Parhimovich

C++ - Test 005. Structures and Classes

  • Result:66points,
  • Rating points-1
Last comments
b
Nov. 9, 2019, 7:28 p.m.
bastonc

спасибо ещё раз. огромное, за уделённое время
b
Nov. 9, 2019, 7:24 p.m.
bastonc

Спасибо Вам большое. Буду изучать.
Nov. 9, 2019, 4:58 p.m.
Evgenij Legotskoj

Добрый день. По первым двум вопросам вы найдёте ответ в этой статье - PyQt5 - Урок 008. Работа с QTableWidget (Обновление урока 006) Что касается последнего вопроса, то я вам…
Nov. 9, 2019, 1:50 p.m.
Evgenij Legotskoj

Как и обещал, вы можете посмотреть новую статью QML - Урок 037. Кастомизация кнопок в QML (Обновление урока 002) . Там же найдёте ссылку на Git репозиторий. Не забудьте поставить звёз…
b
Nov. 8, 2019, 6:40 p.m.
bastonc

Приветствую. Подскажите пожалуйста пару моментов. 1. Как сделать столбец не редактируемый, а остальные ячейки остаются редактируемыми 2. Как оталвливать события двойного клика для реда…
Now discuss on the forum
s
Nov. 15, 2019, 3:54 p.m.
sladkoewka

Добрый день! Подскажите пожалуйста, столкнулся с проблемой смены цвета прогресс бара через QPalette::Highlight. В MainWindow считается переменная температуры девайса. Результат вычисле…
Nov. 15, 2019, 3:06 p.m.
Evgenij Legotskoj

Что это такое Wrngdatalib ? Это namespace ? Скорее всего проблема в том, что те объекты тех классов, которые там присутствуют для обработки xml наследованы от QObject…
Nov. 15, 2019, 2:48 p.m.
Evgenij Legotskoj

Ну собственно поэтому я и сказал, что бесполезное это занятие.
Nov. 15, 2019, 2:27 p.m.
Evgenij Legotskoj

Добрый день. Вот эта статья кажется вполне подходящей к вашему вопросу Install OpenCV 3.4.4 on Ubuntu 16.04 (C++ and Python) Единственное, возможно, что вам потребуется ппра…
Nov. 15, 2019, 2:23 p.m.
Evgenij Legotskoj

Я нашёл решение от разработчиков PyQt5 в списке рассылки. os.environ['QT_QUICK_CONTROLS_STYLE'] = 'Material' Попробуйте его ещё
EVILEG
About
Services
© EVILEG 2015-2019
Recommend hosting TIMEWEB