Tag: 远程

如何阻止iOS 7控制中心控制音乐应用程序?

我们的应用程序通过成为远程控制事件的第一响应者,使用远程控制(例如iOS7以前的旧式跳板,耳塞式)明确阻止用户表单。 但是,在iOS7上,相同的代码无法绕过控制中心的音乐控制。 从testing中,控制中心似乎已经绕过了所有的音乐控制事件,包括UIEventSubtypeRemoteControlPause和UIEventSubtypeRemoteControlPlay,以及UIEventSubtypeRemoteControlTogglePlayPause。 控制中心是否有其自己的远程控制协议,或者在iOS7中截取远程控制事件的方式已经改变了? 相同的阻止代码仍然适用于iOS6设备。 以下是我们的工作: 在我们的appDelegate中添加了一个方法: (BOOL)canBecomeFirstResponder {return YES; } 在applicationDidBecomeActive中调用这个: [[UIApplication sharedApplication] beginReceivingRemoteControlEvents]; //将自己设置为第一响应者[self becomeFirstResponder]; 在applicationWillResignActive中调用这个 //closures远程控制事件传递[[UIApplication sharedApplication] endReceivingRemoteControlEvents]; //作为第一响应者[resignFirstResponder]; 最后补充说 (void)remoteControlReceivedWithEvent:(UIEvent *)receivedEvent { if (receivedEvent.type == UIEventTypeRemoteControl) { switch (receivedEvent.subtype) { case UIEventSubtypeRemoteControlTogglePlayPause: NSLog(@"Received: UIEventSubtypeRemoteControlTogglePlayPause\n"); break; case UIEventSubtypeRemoteControlPreviousTrack: NSLog(@"Received: UIEventSubtypeRemoteControlPreviousTrack\n"); break; case UIEventSubtypeRemoteControlNextTrack: NSLog(@"Received: UIEventSubtypeRemoteControlNextTrack\n"); break; case UIEventSubtypeRemoteControlPlay: NSLog(@"Received: UIEventSubtypeRemoteControlPlay\n"); break; case […]