bluetooth-lowenergy

Android 4.4.4 Moto G Bluetooth LE reconnect issue

拟墨画扇 提交于 2019-12-22 04:48:20
问题 I have an app that works great on a Samsung S3 running Android 4.3 however i've having issues on a Moto G running 4.4.4 My BLE peripheral connects and disconnects several times during the apps use. This works fine however sometimes there comes a point where the app/phone no longer reconnects to the peripheral. All gatt commands are run on the main thread, eg. final BluetoothGatt gat = gatt; Handler handler = new Handler(Looper.getMainLooper()); handler.post(new Runnable() { @Override public

Make Samsung Android device advertise as an iBeacon

假如想象 提交于 2019-12-22 04:43:26
问题 Has anybody used Samsung's Bluetooth LE APIs to make a Samsung Android device advertise as an iBeacon? This should be possible, but I do not have access to a device to try it. If anybody has used it to make a Samsung Android device advertise as any other Bluetooth LE peripheral, I would like to know that, too. EDIT: This is now possible on Android L. See here. 回答1: Unfortunately, @reTs and @duncan-c are right (+1 for each of them). The Samsung BLE SDK cannot send out real BLE advertisements

Bluetooth LE Scanning Sometimes Doesn't Find Devices

老子叫甜甜 提交于 2019-12-22 01:52:14
问题 I am scanning for Bluetooth LE devices and running as a Peripheral (running Android 6.0 on a Moto G 2nd Gen) The problem I am having is that sometimes (randomly it seems but often) it will not find any of my other peripheral devices, the other times it works fine. I have a companion iOS device running similar code (both scanning for peripherals and acting as a peripheral), and when the Android scanning can't find the iOS device, my iOS finds the Android device acting as a peripheral just fine

In CBCentralManager delegate method didDiscoverPeripheral: never called

只愿长相守 提交于 2019-12-22 01:15:24
问题 I initialize the CBCenteralManager in viewdidload on main queue. First time update state method is called and start scanning for bluetooth devices but didDiscoverPeripheral: delegate method never get called. Code is : - (void)viewDidLoad { [super viewDidLoad]; self.CM = [[CBCentralManager alloc]initWithDelegate:self queue:nil]; } -(void)centralManagerDidUpdateState:(CBCentralManager *)central{ if (central.state == CBCentralManagerStatePoweredOn) { [self.CM scanForPeripheralsWithServices:nil

Apple Store App Rejection - Support for external-accessory in the UIBackgroundModes

纵饮孤独 提交于 2019-12-22 00:37:32
问题 I recently had an app rejected by the store for the following reason: Our app declares support for external-accessory in the UIBackgroundModes key in your Info.plist file but does not declare any external accessory protocols supported by your app. The external accessory background mode is intended for apps that communicate with hardware accessories through the External Accessory framework. I have read through some answers of previous people who asked this question but I am unsure on my case.

How to reboot CoreBluetooth manager instance at fixed interval in background

六眼飞鱼酱① 提交于 2019-12-22 00:29:34
问题 I'm developing a iOS application of using CoreBluetooth and i have one problem in application BackGround. Generally, iOS application can't run long-term in Background. (e.g. pushing HomeButton. switching other application) But my application is set "Uses Bluetooth LE accessories" as BackGroundMode, so i can monitor region in Background. And i implemented startRangingBeaconsInRegion in didEnterRegion. When enter a region, Ranging region will be started and will be stopped after about 10 sec by

Android BLE multiple connections

十年热恋 提交于 2019-12-21 20:23:26
问题 I am trying to create an application that connects and receives notifications from multiple bluetooth low energy devices. I am wondering how this can be achieved. Do I need a separate thread for each connection? How can I make sure the services get discovered and notifications get set in an order that works given the asynchronous nature of the API. I am currently using the same structure provided here: https://developer.android.com/guide/topics/connectivity/bluetooth-le.html. This is setup

What is the purpose of “Access Address” in BLE

那年仲夏 提交于 2019-12-21 19:48:06
问题 The Bluetooth Low Energy specification talks about an "Access Address" that is part of the link layer packet. What purpose doe this Access Address server? Reference: Bluetooth 4.0 specification(Volume 6, Part B, 2 Air Interface packets) 回答1: BLE is a low power protocol where many devices share the same physical radio channels. There is a chance of collision, where a receiver could listen for a packet, and actually receive packet from someone else than expected sender. On advertising channels,

What is the purpose of “Access Address” in BLE

十年热恋 提交于 2019-12-21 19:47:17
问题 The Bluetooth Low Energy specification talks about an "Access Address" that is part of the link layer packet. What purpose doe this Access Address server? Reference: Bluetooth 4.0 specification(Volume 6, Part B, 2 Air Interface packets) 回答1: BLE is a low power protocol where many devices share the same physical radio channels. There is a chance of collision, where a receiver could listen for a packet, and actually receive packet from someone else than expected sender. On advertising channels,

Reading Bluetooth RSSI for BLE proximity profile in Android

半世苍凉 提交于 2019-12-21 18:29:55
问题 I am currently developing Bluetooth Low Energy proximity profile for Android and I have stumbled upon an issue regarding RSSI. In order to make proximity profile work I have to receive RSSI data with already connected device every short period. As I did some research I understand it is possible to get Bluetooth RSSI during device discovery. That doesn't work for me as the slave device doesn't advertise after connection. The other way round is digging down to HCI level and using BlueZ. It