Android Bluetooth Low Energy Advertiser returns Null on Chromebox Mini
Reported by
signa...@daymoninteractions.com,
Nov 20
|
||
Issue descriptionUserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Platform: 11264.0.0 (Official Build) dev-channel veyron_fievel Steps to reproduce the problem: 1. BluetoothLeAdvertiser advertise = BluetoothAdapter.getDefaultAdapter().getBluetoothLeAdvertiser(); 2. Advertiser returns Null 3. What is the expected behavior? The advertiser object should not return empty, and it allows the app the advertise the Eddystone signal. What went wrong? We have an Android app that is running on the Chromebox Mini. However, the BLEAdvertiser feature is not working. Through our testing, we have been unable to broadcast the Eddystone signal via our Android app on the device. We are able to broadcast the Eddystone signal through the Chrome browser on the device, thus verifying the hardware is present to broadcast the signal. We have also verified that the bluetooth is enabled when the Android app is launched. Did this work before? No Does this work in other browsers? N/A Chrome version: 70.0.3538.102 Channel: dev OS Version: 72.0.3909.3 Flash Version: 31.0.0.148
,
Nov 20
We need to make sure the following conditions are met: 1) getLeAccess() returns true 2) isMultipleAdvertisementSupported() returns true https://cs.corp.google.com/android/frameworks/base/core/java/android/bluetooth/BluetoothAdapter.java?type=cs&q=getBluetoothLeAdvertiser&sq=package:android&g=0&l=739 AFAIK, multi advertisement is not supported at this moment.
,
Dec 5
I've tested the case on Pixelbook 2. Chrome version 72.0.3623.3 (Official Build) dev (64-bit) OS version: 11307.0.0 (Official Build) dev-channel eve Android version: 9 Pie Hardware: Pixelbook 2 For me `BluetoothAdapter.getDefaultAdapter().getBluetoothLeAdvertiser()` returns a valid object. 1) getLeAccess() returns true 2) isMultipleAdvertisementSupported() returns false Also, I was able to set up a proper transmission of Eddystone-UID and Eddystone-URL beacons using Altbeacon library. So the entire case works well at least on Pixelbook 2. Why it might not work for Chromebox mini?
,
Dec 28
The `BluetoothAdapter.getDefaultAdapter().getBluetoothLeAdvertiser()` returns empty in my case. 1) getLeAccess() returns false 2) isMultipleAdvertisementSupported() returns false However, the device is able to broadcast Eddystone-UID through Chrome browser API.
,
Jan 3
Yet to confirm, but it seems to me that Le advertising is supported on pixelbook but not on chromebox mini. To #4, are you using the ble api below? https://developer.chrome.com/apps/bluetoothLowEnergy#method-registerAdvertisement
,
Jan 7
Just confirmed that in Android N, we don't support LE advertisement via the Android API on chromebooks. That's a new feature for Android P in ARC++. Thus, only devices running Android P (such as Pixelbook 2 in #3) supports LE advertisement (but not multiple LE advertisement). Thus, this is WAI on chromebox mini. The long story here. Multiple advertisement is not supported on ARC++. In Android N, GMS core will always take the default and only advertisement slot, which is rendered as not available for other apps. In Android P, we are able to reuse that slot when GMS core is idle. Thus, LE advertisement is only available in Android P. |
||
►
Sign in to add a comment |
||
Comment 1 by ortuno@chromium.org
, Nov 20Components: -Blink>Bluetooth Platform>Apps>ARC
Owner: qiyuh@chromium.org