电话屏幕关闭时,Xamarin DispatchKeyEvent不会触发

时间:2017-02-18 17:19:10

标签: android mobile xamarin bluetooth

我的应用程序使用MediaPlayer播放音乐,我通过覆盖DispatchKeyEvent从蓝牙耳机中捕获MediaPrevious和MediaNext键码

这样可以正常工作,直到手机锁定,此时不再按下这些蓝牙按键调用DispatchKeyEvent。

屏幕锁定时是否有某种方法可以启用此功能?我应该使用另一种功能吗?我知道这是可能的,因为我曾经使用的每个音乐播放器都具有此功能。

1 个答案:

答案 0 :(得分:0)

使用MediaSession解决:

public class cb : MediaSession.Callback
{
    public override bool OnMediaButtonEvent(Intent mediaButtonIntent)
    {
        //do stuff
    }
}

override void OnCreate(Bundle bundle)
{
    var s = new MediaSession(ApplicationContext, "asdf");
    s.SetCallback(new cb());

    s.SetFlags(MediaSessionFlags.HandlesMediaButtons | MediaSessionFlags.HandlesTransportControls);
    s.Active = true;
}