首页 文章

iOS:处理远程控制事件,然后将事件转发到音乐应用程序

提问于
浏览
0

我想在我的应用程序中处理删除控制事件,但也希望在我完成后将事件传递给其他应用程序 .

我在Apple的远程控制事件文档部分找不到明确的说明:http://developer.apple.com/library/ios/#documentation/EventHandling/Conceptual/EventHandlingiPhoneOS/Remote-ControlEvents/Remote-ControlEvents.html#//apple_ref/doc/uid/TP40009541-CH7-SW3

这里说:

iOS将命令转换为UIEvent对象,并将事件传递给应用程序 . 应用程序将它们发送给第一个响应者,如果第一个响应者没有处理它们,他们会向响应者链上行 . 有关响应者链的更多信息,请参阅“响应者链遵循特定的传递路径” .

所以我以为我会去

[[self nextResponder] remoteControlReceivedWithEvent: receivedEvent];

在我的事件处理程序方法结束时,期望在我的处理程序完成之后,当前正在播放的音乐应用程序(例如内置音乐播放器)将能够接收该事件 . 但令我惊讶的是,它从来没有 .

我在这里错过了什么?

1 回答

  • 2

    确保调用以下方法开始接收事件 .

    [[UIApplication sharedApplication] beginReceivingRemoteControlEvents];
    [self becomeFirstResponder];
    

    然后在您的应用程序委托中,您需要监听事件 .

    -(void)remoteControlReceivedWithEvent:(UIEvent *)event{
        if (event.type == UIEventTypeRemoteControl){
            switch (event.subtype) {
                case UIEventSubtypeRemoteControlTogglePlayPause:
                    break;
                default:
                    break;
            }
        }
    }
    

相关问题