Я создаю приложение cordova, которое подключается к считывателю Bluetooth. Все работает, когда приложение работает (не минимизировано). Я могу прочитать данные Bluetooth. Если я сейчас минимизирую приложение, а затем увеличу его снова (не уверен, что это правильный термин), то я больше не могу получать данные. Я вижу следующие в XCode:EAAccessory останавливается после того, как приложение cordova сведено к минимуму на iOS
2015-11-26 12: 24: 13,944 MyAppName [704: 170849] /SourceCache/ExternalAccessory/ExternalAccessory-288.20.7/EAAccessoryManager.m:__51-[EAAccessoryManager _checkForConnectedAccessories] _block_invoke-631 окончание фоновой задачи
Я также пытался реализовать accessoryDidConnect и accessoryDidDisconnect, используя код, приведенный ниже, но обе функции никогда не дозвонились:
- (void) pluginInitialize
{
NSLog(@"init called");
[[NSNotificationCenter defaultCenter] addObserver:selfselector:@selector(accessoryDidConnect:)
name:EAAccessoryDidConnectNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(accessoryDidDisconnect:)
name:EAAccessoryDidDisconnectNotification object:nil];
}
-(void) accessoryDidConnect:(NSNotification *)notification
{
EAAccessory *connectedAccessory = [[notification userInfo] objectForKey:EAAccessoryKey];
NSLog(@"error :%@", connectedAccessory.protocolStrings);
// Only notify of change if the accessory added has valid protocol strings
if(connectedAccessory.protocolStrings.count != 0)
{
_accessoryList = [[[EAAccessoryManager sharedAccessoryManager] connectedAccessories] mutableCopy];
}
NSLog(@"connected");
isDeviceLoaded=true;
}
- (void)accessoryDidDisconnect:(NSNotification *)notification
{
// EAAccessory *disconnectedAccessory = (EAAccessory *)[notification.userInfo objectForKey:@"EAAccessorySelectedKey"];
NSLog(@"disconnected");
_accessoryList = [[[EAAccessoryManager sharedAccessoryManager] connectedAccessories]mutableCopy];
isDeviceLoaded=true;
}
Вызывается функция pluginInitialize, но вспомогательный DidConnect или принадлежностьDidDisconnect никогда не вызывается. Как подключиться к Bluetooth-считывателю?