I managed, чтобы мои кнопки гарнитуры распознавались моим приложением при нажатии, но одной из кнопок нужно вызвать метод, который находится в MyCustomActivity. Проблема состоит в том, что первый параметр onReceive - это Контекст, который нельзя передать в Activity, и поэтому я вынужден реализовать свой BroadcastReceiver как внутренний класс внутри MyCustomActivity.Как зарегистрироваться в манифесте * inner * MEDIA_BUTTON BroadcastReciver?
Пока все хорошо, но как зарегистрировать этот внутренний MediaButtonEventReceiver в манифесте?
Для самостоятельного класса, это было просто:
<receiver android:name=".RemoteControlReceiver">
<intent-filter>
<action android:name="android.intent.action.MEDIA_BUTTON" />
</intent-filter>
</receiver>
Какой трюк/синтаксис, чтобы сделать то же самое для mReceiver MyCustomActivity в?
private BroadcastReceiver mReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context ctx, Intent intent) {
// ...
}
}
Спасибо! Я подумал, что я пробовал это, но, увидев, что новый метод BroadcastReceiver() снова создан в onCreate(), я собираюсь попробовать это еще раз и сообщить, как он работает. +1 на данный момент. – an00b
Странно. Я пробовал этот подход, но по какой-то причине он не работает. Что мне не хватает? – an00b
@ an00b вы покидаете мероприятие? Помните, что мы не регистрируемся в 'onPause()', чтобы избежать утечки. Также не работает, как в компиляции, но ничего не делает при запуске?Я пересчитываю тост в 'onReceive()', чтобы проверить, вообще ли вызван приемник. –