Is there a way to increase BLE advertisement frequency in Android?
I have an Android device broadcasting a BLE advertisement using the following commands of AltBeacon library:
ADVERTISE_MODE_LOW_LATENCY approx 1 Hz
ADVERTISE_MODE_BALANCED approx 3 Hz
ADVERTISE_MODE_LOW_POWER approx 10 Hz
I would like to increase this frequency more than 10 times per second. Is there a way to increase advertising frequency in Android? Or it is unchangeable?
android bluetooth bluetooth-lowenergy beacon android-ibeacon
add a comment |
I have an Android device broadcasting a BLE advertisement using the following commands of AltBeacon library:
ADVERTISE_MODE_LOW_LATENCY approx 1 Hz
ADVERTISE_MODE_BALANCED approx 3 Hz
ADVERTISE_MODE_LOW_POWER approx 10 Hz
I would like to increase this frequency more than 10 times per second. Is there a way to increase advertising frequency in Android? Or it is unchangeable?
android bluetooth bluetooth-lowenergy beacon android-ibeacon
100ms is the highest frequency you can broadcast with. That is also usually the maximum common devices allow you to set.
– Cheesebaron
Nov 21 '18 at 14:23
add a comment |
I have an Android device broadcasting a BLE advertisement using the following commands of AltBeacon library:
ADVERTISE_MODE_LOW_LATENCY approx 1 Hz
ADVERTISE_MODE_BALANCED approx 3 Hz
ADVERTISE_MODE_LOW_POWER approx 10 Hz
I would like to increase this frequency more than 10 times per second. Is there a way to increase advertising frequency in Android? Or it is unchangeable?
android bluetooth bluetooth-lowenergy beacon android-ibeacon
I have an Android device broadcasting a BLE advertisement using the following commands of AltBeacon library:
ADVERTISE_MODE_LOW_LATENCY approx 1 Hz
ADVERTISE_MODE_BALANCED approx 3 Hz
ADVERTISE_MODE_LOW_POWER approx 10 Hz
I would like to increase this frequency more than 10 times per second. Is there a way to increase advertising frequency in Android? Or it is unchangeable?
android bluetooth bluetooth-lowenergy beacon android-ibeacon
android bluetooth bluetooth-lowenergy beacon android-ibeacon
edited Nov 21 '18 at 14:22
Markus Kauppinen
2,1443825
2,1443825
asked Nov 21 '18 at 14:12
NikitaNikita
1
1
100ms is the highest frequency you can broadcast with. That is also usually the maximum common devices allow you to set.
– Cheesebaron
Nov 21 '18 at 14:23
add a comment |
100ms is the highest frequency you can broadcast with. That is also usually the maximum common devices allow you to set.
– Cheesebaron
Nov 21 '18 at 14:23
100ms is the highest frequency you can broadcast with. That is also usually the maximum common devices allow you to set.
– Cheesebaron
Nov 21 '18 at 14:23
100ms is the highest frequency you can broadcast with. That is also usually the maximum common devices allow you to set.
– Cheesebaron
Nov 21 '18 at 14:23
add a comment |
2 Answers
2
active
oldest
votes
You can reach it with stopping and starting advertisement with code like this:
while (true) {
beaconTransmitter.stopAdvertising()
beaconTransmitter.startAdvertising(beacon, object : AdvertiseCallback() }
add a comment |
The different options you have shown that work with the Android Beacon Library's BeaconTransmitter class are built-in to Android. Unfortunately there are no other higher frequencies of transmission offered by Android APIs.
However, on many newer devices you may start more than one advertiser at a time. If you have a device like this (Pixel, Nexus, Galaxy, Nokia) you can simply start more than one BeaconTransmitter instance at a time, each set to advertise 10Hz. If you start 10, you effectively get advertising at 100Hz.
add a comment |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53413980%2fis-there-a-way-to-increase-ble-advertisement-frequency-in-android%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
You can reach it with stopping and starting advertisement with code like this:
while (true) {
beaconTransmitter.stopAdvertising()
beaconTransmitter.startAdvertising(beacon, object : AdvertiseCallback() }
add a comment |
You can reach it with stopping and starting advertisement with code like this:
while (true) {
beaconTransmitter.stopAdvertising()
beaconTransmitter.startAdvertising(beacon, object : AdvertiseCallback() }
add a comment |
You can reach it with stopping and starting advertisement with code like this:
while (true) {
beaconTransmitter.stopAdvertising()
beaconTransmitter.startAdvertising(beacon, object : AdvertiseCallback() }
You can reach it with stopping and starting advertisement with code like this:
while (true) {
beaconTransmitter.stopAdvertising()
beaconTransmitter.startAdvertising(beacon, object : AdvertiseCallback() }
edited Nov 23 '18 at 8:36
answered Nov 21 '18 at 15:17
Khaustov KirillKhaustov Kirill
248
248
add a comment |
add a comment |
The different options you have shown that work with the Android Beacon Library's BeaconTransmitter class are built-in to Android. Unfortunately there are no other higher frequencies of transmission offered by Android APIs.
However, on many newer devices you may start more than one advertiser at a time. If you have a device like this (Pixel, Nexus, Galaxy, Nokia) you can simply start more than one BeaconTransmitter instance at a time, each set to advertise 10Hz. If you start 10, you effectively get advertising at 100Hz.
add a comment |
The different options you have shown that work with the Android Beacon Library's BeaconTransmitter class are built-in to Android. Unfortunately there are no other higher frequencies of transmission offered by Android APIs.
However, on many newer devices you may start more than one advertiser at a time. If you have a device like this (Pixel, Nexus, Galaxy, Nokia) you can simply start more than one BeaconTransmitter instance at a time, each set to advertise 10Hz. If you start 10, you effectively get advertising at 100Hz.
add a comment |
The different options you have shown that work with the Android Beacon Library's BeaconTransmitter class are built-in to Android. Unfortunately there are no other higher frequencies of transmission offered by Android APIs.
However, on many newer devices you may start more than one advertiser at a time. If you have a device like this (Pixel, Nexus, Galaxy, Nokia) you can simply start more than one BeaconTransmitter instance at a time, each set to advertise 10Hz. If you start 10, you effectively get advertising at 100Hz.
The different options you have shown that work with the Android Beacon Library's BeaconTransmitter class are built-in to Android. Unfortunately there are no other higher frequencies of transmission offered by Android APIs.
However, on many newer devices you may start more than one advertiser at a time. If you have a device like this (Pixel, Nexus, Galaxy, Nokia) you can simply start more than one BeaconTransmitter instance at a time, each set to advertise 10Hz. If you start 10, you effectively get advertising at 100Hz.
answered Nov 21 '18 at 15:53
davidgyoungdavidgyoung
48.6k1076138
48.6k1076138
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53413980%2fis-there-a-way-to-increase-ble-advertisement-frequency-in-android%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
100ms is the highest frequency you can broadcast with. That is also usually the maximum common devices allow you to set.
– Cheesebaron
Nov 21 '18 at 14:23