Unlike iOS, Android has quite a few undocumented tricks with Bluetooth.
I'm assuming you are using the standard Bluetooth library included in
Android 4.3 and later. If you using other libraries like Samsung or
Broadcom, the results could be different.
Because I do not have a findeme device I cannot confirm anything. But I
have worked with both classic and low energy Bluetooth energy on Android
for a while now. My advice is to go through the complete process of scan,
discover services and read/write characteristics.
- onLeScanCallBack connect to the device
- onConnect discoverServices
- onServicesDiscovered get all characteristics
- check the properties on each characteristic
- if you can read it, go ahead and do that
- after that is done, you can then write the characteristic and listen
for the onCharacteristicWrite event. You may get the beep then. If not,
you'll need to go back to the iOS project and trace every bit that is sent
to and received from the findme device. That sounds difficult but it's
really just a matter of reading bytes inside of the right delegates.
Document that. Then go back and recreate the bit sequence on the Android
side. Again, capture all the traffic to and from the findme device. If you
can get the bit sequence to match, you'll have success.
There's one more very important thing to know about Android BLE. The
writes must be sequential. By that I mean, if you write a characteristic,
you must wait for the onCharacteristic event to fire before you can write
another one. This is not documented on the Android developer site. The
best way to implement this functionality is to use a LinkedList as a work
Good luck and ping me if you have questions.