Что происходит с привязкой потока QObject, созданного в рабочем потоке, который затем завершается?

Допустим, я вызываю QtConcurrent :: run () , который запускает функцию в рабочем потоке, и в этой функции я динамически выделяю несколько объектов QObject (для дальнейшего использовать). Поскольку они были созданы в рабочем потоке, их привязка к потоку должна быть такой же, как у рабочего потока. Однако, как только рабочий поток завершается, сходство потока QObject больше не должно быть действительным.

Вопрос: автоматически ли Qt перемещает объекты QObject в родительский поток, Я следил за демонстрацией Android API, которая включает в себя пример создания службы переднего плана. Нет примера о ...

Как правильно выполнять службу переднего плана, которую я могу позже привязать к ней? Я следил за демонстрацией Android API, которая включает в себя пример создания службы переднего плана. Нет примера запуска службы при одновременной привязке к ней.

Я хочу увидеть один хороший пример службы музыкального проигрывателя с "привязанной" к ней активностью.

Есть ли какие-нибудь?

Я хочу сделайте что-нибудь вроде:

  • Когда программа запускается первой (первое означает, что служба еще не запущена), я хочу запустить службу переднего плана, которая выполняет всю работу. Пользовательский интерфейс (активность) предназначен только для управления этим заданием.
  • Если пользователь нажимает кнопку «Домой», служба должна оставаться в рабочем состоянии (и должно присутствовать уведомление в панели)
  • Теперь, если пользователь нажимает на уведомление в панели уведомлений, действие должно начинаться и привязать к службе (или что-то в этом роде, правильным образом), и пользователь берет на себя управление заданием.
  • Если активность активна и пользователь нажимает кнопку возврата, активность должна быть уничтожена, а также служба должна быть уничтожена.

Какие методы мне нужно изменить, чтобы выполнить эту задачу? Как это делается в Android?

7
задан Pang 9 August 2014 в 01:46
поделиться