У меня есть приемник для намерения BOOT_COMPLETED, и он запустит службу, вызвав startService с намерением и процессами службы, которые намерены использовать функцию onStartCommand, создавая поток, который выполняет HTTP-сообщение, сервер.Отправка намерений от приемника на обслуживание с задержкой
При включении питания иногда требуется 3-5 секунд, чтобы получить активное соединение с данными на телефоне, когда это произойдет. Служба не выполняет HTTP-сообщение, так как нет соединения для передачи данных. Возможно ли, чтобы Получатель отправил намерение Службе с использованием startService с задержкой.? так что, когда onStartCommand of Service называется подключением данных, готов к публикации данных.
Скорее всего, HTTP-сообщение не будет работать при включении питания, поэтому требуется отложить публикацию, а не ловить исключение. –
Исправление устаревшего кода, теперь нельзя использовать asyctask. –
Как и в комментарии ниже, создайте рабочий поток, который будет опросить TelephonyManager, а затем отправит обратно обработчику, когда флаг DATA_CONNECTED вернет true. Таким образом, вы не блокируете основной поток службы. – BeRecursive