0

Мое приложение имеет службу, которая собирает данные через bluetooth и хранит в локальном файле. Однако код для включения bluetooth и сопряжения находится в действии.Android Бегущая служба на неопределенный срок?

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

Рекомендуется ли выполнять обслуживание в фоновом режиме на неопределенный срок? Это действительно разрядит аккумулятор? Какие-либо предложения?

ответ

0

Вы должны сначала проверить, существует ли намерение трансляции, отправленное из системы, каждый раз, когда оно подключается к Bluetooth. Если да, зарегистрируйте BroadcastReceiver на манифесте и начните свою услугу, когда будет получено намерение. Если он не существует, то вы должны поддерживать текущее соединение с Bluetooth-связью или что-то, что вы слышите, и действовать соответственно при обнаружении соединения. Имейте в виду, что даже ваш сервис не был закрыт вами когда-то, Android может убить его, когда ему нужно освободить память, и позже будет воссоздаваться.

Смежные вопросы