我设法让我的耳机按钮在按下时被我的应用程序识别,但是其中一个按钮需要调用 MyCustomActivity 中的方法。问题是 onReceive 的第一个参数是一个不能转换为 Activity 的上下文,所以我被迫将我的 BroadcastReceiver 实现为 MyCustomActivity 中的内部类。
到目前为止一切顺利,但我如何在清单中注册这个内部 MediaButtonEventReceiver?
对于独立类,这很简单:
<receiver android:name=".RemoteControlReceiver">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
对 MyCustomActivity 的 mReceiver 执行相同操作的技巧/语法是什么?
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context ctx, Intent intent) {
// ...
}
}