BroadcastReceiver с намерением MEDIA_BUTTON ничего не получает - PullRequest
0 голосов
/ 12 января 2020

У меня есть этот простой приемник:

public class RemoteControlReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
    if (Intent.ACTION_MEDIA_BUTTON.equals(intent.getAction())) {
        Toast.makeText(context, "Something received", Toast.LENGTH_SHORT).show();
    }
}

И это должно отображать это сообщение Toast при нажатии кнопки громкости. Кроме того, я зарегистрировал его в своем файле манифеста:

<receiver android:name=".RemoteControlReceiver">
        <intent-filter>
            <action android:name="android.intent.action.MEDIA_BUTTON" />
        </intent-filter>
    </receiver>

В настоящее время я использую API26. Я читал об этом здесь:

https://android-developers.googleblog.com/2010/06/allowing-applications-to-play-nicer.html

Итак, я даже могу использовать KeyEvent здесь, верно? Но это ничего не получает и не показывает .... Возможная помощь, пожалуйста?

1 Ответ

0 голосов
/ 12 января 2020

Попробуйте с этим java кодом:

 mediaButtonReceiver = new ComponentName(getPackageName(), 
  MediaButtonReceiver.class.getName());

 mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);

  mAudioManager.registerMediaButtonEventReceiver(mediaButtonReceiver);

Для незарегистрированных:

  mAudioManager.unregisterMediaButtonEventReceiver(mediaButtonReceiver);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...