我的应用程序使用MediaPlayer播放音乐,通过覆盖DispatchKeyEvent,我可以从蓝牙耳机捕获MediaPrevious和MediaNext键码
这可以很好地工作,直到电话锁定,此时按下这些蓝牙按键时不再调用DispatchKeyEvent。
有什么方法可以在屏幕锁定的情况下启用这个功能吗?有没有其他我应该使用的函数呢?我知道这是可能的,因为我用过的每个音乐播放器都有这个功能。
发布于 2017-02-19 06:03:59
使用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;
}https://stackoverflow.com/questions/42318253
复制相似问题