Обнаружить кнопку Bluetooth ответа / завершения вызова на iPhone - PullRequest
4 голосов
/ 27 августа 2011

Можно ли обнаружить и ответить на нажатия кнопок ответа / завершения вызова с устройства HFP Bluetooth на iOS? Кто-нибудь видел это? Где мне искать ответы? Я понимаю, что можно получить доступ к Bluetooth нижнего уровня, если вы зарегистрируетесь в программе производителя устройств (MFI), но я надеюсь, что мне не нужно углубляться в это. Я также знаю, что вы можете отвечать на команды AVRCP, но я не хочу использовать эту опцию. Кто-нибудь может помочь?

Ответы [ 3 ]

3 голосов
/ 27 августа 2011

UIResponder имеет метод -remoteControlReceivedWithEvent:, который можно использовать для получения событий от внешних устройств, возможно, включая гарнитуры Bluetooth.Из документов:

События дистанционного управления происходят как команды от внешних аксессуаров, включая наушники.Приложение отвечает на эти команды, управляя аудио или видео носителями, представленными пользователю.Принимающий объект-ответчик должен проверить подтип события, чтобы определить предполагаемую команду - например, play (UIEventSubtypeRemoteControlPlay) - и затем действовать соответствующим образом.

Чтобы разрешить доставку событий дистанционного управления, необходимо вызвать метод beginReceivingRemoteControlEventsUIApplication;чтобы отключить доставку событий дистанционного управления, вызовите endReceivingRemoteControlEvents.

Неясно, считается ли кнопка ответа / завершения вызова на гарнитуре эквивалентной кнопке воспроизведения / паузы, скажем, на наушникахудаленный, но это стоит попробовать.

0 голосов
/ 07 ноября 2014

Что касается моего исследования, некоторые люди получили какое-то событие от своих устройств с помощью «remoteControlReceivedWithEvent», но не все!Некоторые не получают ни одного!И очень немногие получают их все!

Я также попробовал Core Bluetooth, но он поддерживает только LEB (устройства Bluetooth с низким энергопотреблением)!https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/CoreBluetoothOverview/CoreBluetoothOverview.html#//apple_ref/doc/uid/TP40013257-CH2-SW1

Кроме того, некоторые сообщения предполагают, что можно использовать Classic bleutooth вместо «Low Energy»: Как использовать bluetooth classic вместо le Но у него также есть ограничение (сообщение о "аксессуаре MFi"! MFi это "сделано для iphone"?!?!?!)

из сообщения выше: "Bluetooth-устройство не LE должно быть одобрено MFi дляиспользоваться с платформой External Accessory (для этого необходимо использовать специальную микросхему Apple и собственный протокол связи). Вы не сможете создавать приложения для доступа к этому устройству, если оно не использует более открытый Bluetooth LE или не содержит этот чипэто для стандартного Bluetooth. Могут быть способы сделать это с помощью джейлбрейка, но почти все, кого я знаю, перешли на Bluetooth LE ».!

ещё пост: Подключение к устройству Bluetooth из iOS, без MFi

С уважением.

0 голосов
/ 27 августа 2011

К сожалению, для разработчиков нет доступных общедоступных API-интерфейсов Bluetooth, поэтому нет способа получить такой доступ обычными способами.

...