Как реализовать BroadcastReceiver в классе обслуживания в Android?
Мне нужно реализовать BroadcastReceiver в классе обслуживания, который я создал:
public class MyService extends Service
в этом классе я должен реализовать симуляцию загрузки с помощью Thread-Sleep, когда пользователь нажимает кнопку в классе MyActivity, который реализует sendBroadcas (). Я не могу расширяет класс обслуживания в приемник BroadcastReceiver, как это уже extendes службы. Может ли кто-нибудь помочь мне понять, как реализовать этот механизм?
спасибо
1 ответов
имейте BroadcastReceiver как класс верхнего уровня или как внутренний класс в вашем сервисе. И получите справку о получателе в вашем сервисе. Вот так:
public class MyService extends Service {
BroadcastReceiver mReceiver;
// use this as an inner class like here or as a top-level class
public class MyReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
// do something
}
// constructor
public MyReceiver(){
}
}
@Override
public void onCreate() {
// get an instance of the receiver in your service
IntentFilter filter = new IntentFilter();
filter.addAction("action");
filter.addAction("anotherAction");
mReceiver = new MyReceiver();
registerReceiver(mReceiver, filter);
}
}