我想获取 BluetoothManager 私有框架的所有通知。我一直在搜索,但只找到了两个(BluetoothAvailabilityChangedNotification 和 BluetoothDeviceDiscoveredNotification)。我对报告 iphone 是否连接/断开设备的通知很感兴趣。如果有人能给我一份所有通知的列表,我将不胜感激。
问问题
961 次
2 回答
2
我没有完整的列表,但这些是您感兴趣的:
BluetoothDeviceConnectFailedNotification
BluetoothDeviceConnectSuccessNotification
BluetoothDeviceDisconnectFailedNotification // haven't confirmed this one
BluetoothDeviceDisconnectSuccessNotification
以下是其他一些:
BluetoothConnectabilityChangedNotification // fires when bluetooth is turned on/off
BluetoothAvailabilityChangedNotification // seems to fire once at app start)
BluetoothPowerChangedNotification
BluetoothDeviceDiscoveredNotification
BluetoothDeviceRemovedNotification
BluetoothPairingUserNumericComparisionNotification
BluetoothPairingPINResultSuccessNotification
于 2014-03-07T19:40:35.563 回答
1
在调用之前添加[BluetoothManager sharedInstance]
:
CFNotificationCenterAddObserver(CFNotificationCenterGetLocalCenter(),
NULL,
bluetoothCallback,
NULL,
NULL,
CFNotificationSuspensionBehaviorDeliverImmediately);
在这个实现的某个地方,方法 void bluetoothCallback:
void bluetoothCallback (CFNotificationCenterRef center,
void *observer,
CFStringRef name,
const void *object,
CFDictionaryRef userInfo)
{
if (CFStringGetCharacterAtIndex(name, 0) == 'B') { // stupid way to filter for only 'B'luetooth notifications
NSLog(@"%@", name);
}
}
您的控制台日志现在向您显示所有蓝牙通知。
于 2013-10-04T10:33:11.570 回答