简体   繁体   English

带有 MEDIA_BUTTON 意图的 BroadcastReceiver 没有收到任何东西

[英]BroadcastReceiver with MEDIA_BUTTON intent doesn't receive anything

I have this simple receiver:我有这个简单的接收器:

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();
    }
}

And this is supposed to show this Toast message when a volume button is pressed.这应该在按下音量按钮时显示此 Toast 消息。 Also, I registered it in my manifest file:另外,我在清单文件中注册了它:

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

I am currently using API26.我目前正在使用 API26。 I read about this here:我在这里读到了这个:

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

So, I can even use KeyEvent here, right ?所以,我什至可以在这里使用 KeyEvent ,对吧? But this doesn't receive and show anything.... Possible help, please ?但这不会接收并显示任何内容.... 可能的帮助,好吗?

Try out with this java code :试试这个java代码:

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

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

  mAudioManager.registerMediaButtonEventReceiver(mediaButtonReceiver);

To unregistered:未注册:

  mAudioManager.unregisterMediaButtonEventReceiver(mediaButtonReceiver);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM