23 мая 2017 г., 13:59 от CommunityRami

Зарегистрировать приемник трансляции из сервиса в новой теме

У меня есть радиоприемник, который запускает длительную операцию (процесс загрузки). В коде сервиса, запущенного из класса Activity, мне нужно зарегистрировать этот получатель в новом потоке.

Я проверил этот постЗапущены ли Android BroadcastReceivers в новом потоке? но мне нужен более конкретный пример использования Context.registerReceiver (получатель BroadcastReceiver, фильтр IntentFilter, String broadcastPermission, планировщик обработчика)

На самом деле мне нужно знать, как создать новый поток из службы и зарегистрировать получателя и присоединен к этому потоку.

Большое спасибо. RA

Ответы на вопрос (0)

21 мая 2012 г., 15:28 от David Wasser

В твоем сервисеonCreate():

private Handler handler; // Handler for the separate Thread

HandlerThread handlerThread = new HandlerThread("MyNewThread");
handlerThread.start();
// Now get the Looper from the HandlerThread so that we can create a Handler that is attached to
//  the HandlerThread
// NOTE: This call will block until the HandlerThread gets control and initializes its Looper
Looper looper = handlerThread.getLooper();
// Create a handler for the service
handler = new Handler(looper);
// Register the broadcast receiver to run on the separate Thread
registerReceiver (myReceiver, intentFilter, broadcastPermission, handler);

ВАШ ОТВЕТ НА ВОПРОС