当app在后台(iOS)时获取EAAccessoryDidConnectNotification

问题描述 投票:2回答: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];
}
nsnotificationcenter eaaccessory
2个回答
2
投票

根据documentation,这是不可能的:

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

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


0
投票

在iOS 12.1.4中,当应用程序处于前台时插入带有iPhone和DSLR Camera的中继电缆,然后将应用程序切换到后台模式,拔下中继电缆并将应用程序切换回前台,您将通过EAAccessory的委托方法接收来自附件的DCDisconnect通知。

© www.soinside.com 2019 - 2024. All rights reserved.