Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mi Band 1S vibration on incoming call handling on iOS

SO. Initial data:

  • Device Xiaomi Mi Band 1 or 1S
  • Device paired with iPhone
  • Xiaomi iOS app has option "Vibrate on incoming calls"

How they implement it? It continue works if you reboot device or force quit an app. It is unusual for default BLE background. Any ideas how this app handle events?


For people who vote for closing this question. This is a very interesting issue which require some specific knowledge about bluetooth and background. For example there are three bluetooth background modes: external-accessory for old-school non-ble blueooth, bluetooth-central and bluetooth-peripheral. I have done a lot of experiments about last two. But it does not work as you expected after documentation reading. I have found few questions about this topic here on SO. All of them report about pure predictable for bluetooth background. And after all hours on this issue you see on Mi Band and them official absolutely legal app in App Store. And this App keeps connection or has some other "magic" mechanism to handle calls and initiate reaction on device. At a minimum it is curious. Is it? At a minimum it is useful for developers who works with peripheral devices.

like image 502
alexchernyy Avatar asked Jan 24 '16 11:01

alexchernyy


1 Answers

It looks like Apple Notification Center Service (ANCS) integration, not Bluetooth Background + Core Telephony.

The purpose of the Apple Notification Center Service (ANCS) is to give Bluetooth accessories (that connect to iOS devices through a Bluetooth low-energy link) a simple and convenient way to access many kinds of notifications that are generated on iOS devices.

  • Documentation
  • CategoryIDIncomingCall is about incoming call
like image 62
alexchernyy Avatar answered Nov 12 '22 05:11

alexchernyy