2

在我的 'viewDidLoad'in ViewController.m中,我正在NSNotificationCenter defaultCenter使用 ' EAAccessoryDidConnectNotification' 和 ' EAAccessoryDidDisconnectNotification' 注册当我的应用程序在前台处于活动状态时,我会收到通知,并在 accessoryDidConnect 中做出响应。一切正常。但是,当应用程序在后台时,我怎样才能得到这样的通知?

('EAAccessoryDidConnectNotification' and 'EAAccessoryDidDisconnectNotification')
[Code below]

非常感谢。担

(void)viewDidLoad
{

  [super viewDidLoad];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(accessoryDidConnect:)
                                                 name:EAAccessoryDidConnectNotification
                                               object:nil];

    [[NSNotificationCenter defaultCenter] addObserver:self
                                             selector:@selector(accessoryDidDisconnect:)
                                                 name:EAAccessoryDidDisconnectNotification
                                               object:nil];    

    [[EAAccessoryManager sharedAccessoryManager] registerForLocalNotifications];
}
4

2 回答 2

2

根据文档,这是不可能的:

如果附件通知到达时您的应用程序在后台暂停,则该通知将放入队列中。当您的应用再次开始运行时(无论是在前台还是在后台),队列中的通知都会发送到您的应用。通知也会尽可能合并和过滤,以消除任何不相关的事件。例如,如果在您的应用程序暂停时连接了一个配件并随后断开了连接,那么您的应用程序最终将不会收到任何此类事件发生的指示。

但如果有人证明我错了,那会很有趣。

于 2013-11-06T14:57:27.953 回答
0

在 iOS 12.1.4 中,当应用程序处于前台时,将中继线插入 iPhone 和 DSLR 相机,然后将应用程序切换到后台模式,拔下中继线并将应用程序切换回前台,您将通过 EAAccessory 的委托方法收到附件DidDisconnect 通知.

于 2019-03-05T12:17:08.743 回答