Я хотел создать трансляционный транслятор, который прослушивает android.intent.action.MEDIA_BUTTON и получает от него extra_key_event и действует соответственно. Каким-то образом onreceive действие не выполняется.android broadcastreceviver onreceive action не выполнен
В моем манифесте:
receiver android:name="MediaButtonReceiver"
intent-filter
action android:name="android.intent.action.MEDIA_BUTTON"
intent-filter
приемник
В моей BroadcastReceiver:
public class MVCS extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) {
/* handle media button intent here by reading contents */
/* of EXTRA_KEY_EVENT to know which key was pressed */
KeyEvent ke = (KeyEvent)intent.getExtras().get(Intent.EXTRA_KEY_EVENT);
if (ke .getKeyCode() == KeyEvent.KEYCODE_VOLUME_DOWN) {
Toast.makeText(context, "BUTTON PRESSED!", Toast.LENGTH_SHORT).show();
}
}
}
Однако, ничего не отображается, когда я нажмите клавишу громкость вниз.
Любая помощь была бы высоко оценена!
благодарит за помощь. Регулярно транслируются трансляции в фоновом режиме, как служба, даже когда моя активность не работает? – kevdliu
Радиовещательные приемники не похожи на сервисы, ничто не работает непрерывно, это просто слушатель, который вы присоединяете к определенному событию. Он будет выполняться ТОЛЬКО при запуске события и иметь в виду, что ответ не такой быстрый, иногда он принимает 300 или 400 мс до тех пор, пока ваш слушатель не будет запущен. – ruhalde