アンドロイドでは、クラスの内部クラスをBoardcastレシーバとして登録できますか?クラスの内部クラスをBoardcastレシーバとして登録することは可能ですか?
public class A extends AnotherClass {
public class B extends BroadcasetReceiver {
}
}
BのAを登録してインテントを聞くにはどうすればよいですか?
ありがとうございます。
アンドロイドでは、クラスの内部クラスをBoardcastレシーバとして登録できますか?クラスの内部クラスをBoardcastレシーバとして登録することは可能ですか?
public class A extends AnotherClass {
public class B extends BroadcasetReceiver {
}
}
BのAを登録してインテントを聞くにはどうすればよいですか?
ありがとうございます。
この場合、Context.registerReceiver()に登録することを検討することができます。あなたがそれをあなたのAndroidManifest:AnotherClass$BroadcasetReceiver
からこのように参照しようと静的にすることができれば。まあ...静的なのであれば、なぜトップレベルのクラスを作成しないのですか?
スタティック内部クラスは、マニフェストのブロードキャスト受信者として登録できます。
受信機は、私は非静的内部クラスを参照することが可能であるとは思わない.path.to.class.MyClass$MyInnerClass
によって参照されます。
「Service」を拡張したクラス内でこれを実行しようとしましたが、運がありませんでした。それは私の実装されている可能性があります。 –
サービスとアクティビティを拡張するクラスでこれを成功させました。その場合、IntentFilterはプログラムによって登録され、マニフェストに登録する必要はありません。 – Zelimir
[BroadcastReceiver as inner class]の複製が可能です(http://stackoverflow.com/questions/4854807/broadcastreceiver-as-inner-class) –