I am trying to create an application using the new Bluetooth Low Energy API for Android. To do this, I started with a BLE sample coming with an API level of level 18 .
Since I read that Android cannot act as peripherals, I put the Android phone in central mode by browsing the BLE devices around it. For this purpose, I conducted several trials using the Nordic Platform, simulating a heart sensor. Everything works perfect!
After that, I try to select an iPhone (iOS 7 beta 4) and put it in the Peripheral way and simulate a heart rate sensor as the previous test. Android application can see the device and connect to it. But after the connection is activated, the two devices disconnect from each other after 3-4 seconds. In addition to this, when I call DiscoverServices () on the Android side, no callback fires! In some cases, the Android device receives the “Connected” event, even if the Bluetooth IOS chip is turned off. It is very strange. To prove this, I placed the Nordic Board in central mode and I was able to correctly connect to the iOS device without any problems.
What could it be? Are there some restrictions on Android or iOS that prevent you from connecting from Android to iOS or vice versa?
Thank.
EDIT: after some hard testing, I raised a question on the AOSP page. You can check it here.
android ios android-4.3-jelly-bean bluetooth-lowenergy core-bluetooth
edoardotognoni Aug 05 '13 at 7:21 2013-08-05 07:21
source share