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 对象并将事件传递给应用程序。应用程序将它们发送给第一响应者,如果第一响应者不处理它们,它们会沿着响应者链向上传播。有关响应者链的更多信息,请参阅“响应者链遵循特定的传递路径”。</p>

所以我想我会放置

[[self nextResponder] remoteControlReceivedWithEvent: receivedEvent];

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

我在这里想念什么?

4

1 回答 1

2

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

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

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

-(void)remoteControlReceivedWithEvent:(UIEvent *)event{
    if (event.type == UIEventTypeRemoteControl){
        switch (event.subtype) {
            case UIEventSubtypeRemoteControlTogglePlayPause:
                break;
            default:
                break;
        }
    }
}
于 2013-08-26T11:25:28.697 回答