crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в Android. Процесс, запущенный в отдельном потоке, завершается через время если приложение свернуть
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
MishaUA Дата 31.3.2018, 0:13
  В общем, там надо запускать отдельно сервис, который будет крутиться. Ну и отдельно приложение с GUI.
Вот, нашел некоторый пример: https://github.com/bog-dan-ro/qt_services/ , там можно понять что к чему.
MishaUA Дата 30.3.2018, 12:03
  Поправочка - если сделать:
   int ex = a.exec();
    while(thr.isRunning());
    return ex;

То не закрывается, правда, вторая строка сильно проц грузит, но скорей всего, это можно будет легко исправить.
Осталось придумать, как как приложение может понять, что его "развернули", чтобы заново отрисовать GUI.
PS: всё таки, через время тоже вылетает(((.
MishaUA Дата 30.3.2018, 11:17
  Нашел у QApplication опцию setQuitOnLastWindowClosed, которой можно отключить выход с приложения по закрытию главного окна.


блин, не помогло, приложение все равно закрывается через время(((
MishaUA Дата 30.3.2018, 10:12
  эм, то есть, нужно выполнить a.exec(), после этого ждать пока не завершиться поток и только потом выполнять return?

к стати, а как тогда отреагировать на разворачивание приложения?
Алексей1153 Дата 30.3.2018, 7:33
  MishaUA, очевидно, что нужно не доходить до строки
return a.exec();
, а ждать, пока поток thr не разрешит это сделать

а окно можно скрыть
w.hide();
MishaUA Дата 30.3.2018, 0:48
  Доброго времени суток!
Делаю простенькое приложение под андроид, вот часть кода:
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

    MainThread  thr;

    MainWindow w;
    w.show();

    return a.exec();
}

Т.е., запускается отдельный потом и главное окно (да, нужен QML, но это просто для тестов). Если приложение свернуть, то MainWindow, как бы, замирает(вроде так и должно быть), а MainThread нормально выполняется (принимает данные по сети и отправляет), но через какое-то время (несколько минут) он перестает отвечать. Получается, процесс был завершен, ну или вообще прога завершилась.
Как можно сделать так, чтобы приложение/процесс не завершались?
Спасибо!
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 27.4.2024, 21:59