作成したサービスクラスにBroadcastReceiverを実装する必要があります。
public class MyService extends Service
このクラスでは、ユーザーがsendBroadcas()を実装するMyActivityクラスのボタンを押すと、Thread-Sleepを使用してダウンロードのシミュレーションを実装する必要があります。 ServiceクラスはすでにServiceに拡張されているため、BroadcastReceiverに拡張できません。誰かが私がこのメカニズムを実装する方法を理解するのを手伝ってくれる?
ありがとう
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);
}
}