Cannot keep BTLE running in background in Ionic 3
Either I'm doing something wrong or the latest versions of iOS and Android no longer allow this functionality.
I am using (https://github.com/katzer/cordova-plugin-background-mode.git) in conjunction with the native BLE plugin for Ionic 3.
I need to maintain (or find and connect) to pair bluetooth devices in the background but it seems that iOS especially will severe the background BLE connection after a period of time (like 10-15 minutes). I know that iOS stops background activity after 10 minutes, but the katzer plugin is suppose to allow for BTLE processes to continue in the background.
Here is what I am trying to keep the BLE connection alive. I need to be able to connect or detect a disconnect from BLE so I can report in to my server the last known geolocation of the device.
this.backgroundMode.enable();
this.backgroundMode.on("activate").subscribe(() => {
this.backgroundMode.disableWebViewOptimizations();
console.log('backgroundMode activate');
window.setTimeout(() => {
this.bleLoop()
}, 60000)
});
Where bleLoop()
is a function that does a scan for new devices to connect to.
Has ANYONE been able to get BLE working to connect to new devices or call the disconnect callback in the background using ionic 3?
bluetooth background ionic3 btle
add a comment |
Either I'm doing something wrong or the latest versions of iOS and Android no longer allow this functionality.
I am using (https://github.com/katzer/cordova-plugin-background-mode.git) in conjunction with the native BLE plugin for Ionic 3.
I need to maintain (or find and connect) to pair bluetooth devices in the background but it seems that iOS especially will severe the background BLE connection after a period of time (like 10-15 minutes). I know that iOS stops background activity after 10 minutes, but the katzer plugin is suppose to allow for BTLE processes to continue in the background.
Here is what I am trying to keep the BLE connection alive. I need to be able to connect or detect a disconnect from BLE so I can report in to my server the last known geolocation of the device.
this.backgroundMode.enable();
this.backgroundMode.on("activate").subscribe(() => {
this.backgroundMode.disableWebViewOptimizations();
console.log('backgroundMode activate');
window.setTimeout(() => {
this.bleLoop()
}, 60000)
});
Where bleLoop()
is a function that does a scan for new devices to connect to.
Has ANYONE been able to get BLE working to connect to new devices or call the disconnect callback in the background using ionic 3?
bluetooth background ionic3 btle
Also, just FYI, I can see the bleloop getting called for those 10 minutes or so in the background, but if a BTLE device comes into range the scan DOES NOT pick it up. It's like the app doesn't have permission or something to use BTLE in the background.
– JoshL
Nov 13 '18 at 21:08
add a comment |
Either I'm doing something wrong or the latest versions of iOS and Android no longer allow this functionality.
I am using (https://github.com/katzer/cordova-plugin-background-mode.git) in conjunction with the native BLE plugin for Ionic 3.
I need to maintain (or find and connect) to pair bluetooth devices in the background but it seems that iOS especially will severe the background BLE connection after a period of time (like 10-15 minutes). I know that iOS stops background activity after 10 minutes, but the katzer plugin is suppose to allow for BTLE processes to continue in the background.
Here is what I am trying to keep the BLE connection alive. I need to be able to connect or detect a disconnect from BLE so I can report in to my server the last known geolocation of the device.
this.backgroundMode.enable();
this.backgroundMode.on("activate").subscribe(() => {
this.backgroundMode.disableWebViewOptimizations();
console.log('backgroundMode activate');
window.setTimeout(() => {
this.bleLoop()
}, 60000)
});
Where bleLoop()
is a function that does a scan for new devices to connect to.
Has ANYONE been able to get BLE working to connect to new devices or call the disconnect callback in the background using ionic 3?
bluetooth background ionic3 btle
Either I'm doing something wrong or the latest versions of iOS and Android no longer allow this functionality.
I am using (https://github.com/katzer/cordova-plugin-background-mode.git) in conjunction with the native BLE plugin for Ionic 3.
I need to maintain (or find and connect) to pair bluetooth devices in the background but it seems that iOS especially will severe the background BLE connection after a period of time (like 10-15 minutes). I know that iOS stops background activity after 10 minutes, but the katzer plugin is suppose to allow for BTLE processes to continue in the background.
Here is what I am trying to keep the BLE connection alive. I need to be able to connect or detect a disconnect from BLE so I can report in to my server the last known geolocation of the device.
this.backgroundMode.enable();
this.backgroundMode.on("activate").subscribe(() => {
this.backgroundMode.disableWebViewOptimizations();
console.log('backgroundMode activate');
window.setTimeout(() => {
this.bleLoop()
}, 60000)
});
Where bleLoop()
is a function that does a scan for new devices to connect to.
Has ANYONE been able to get BLE working to connect to new devices or call the disconnect callback in the background using ionic 3?
bluetooth background ionic3 btle
bluetooth background ionic3 btle
asked Nov 13 '18 at 20:43
JoshLJoshL
727924
727924
Also, just FYI, I can see the bleloop getting called for those 10 minutes or so in the background, but if a BTLE device comes into range the scan DOES NOT pick it up. It's like the app doesn't have permission or something to use BTLE in the background.
– JoshL
Nov 13 '18 at 21:08
add a comment |
Also, just FYI, I can see the bleloop getting called for those 10 minutes or so in the background, but if a BTLE device comes into range the scan DOES NOT pick it up. It's like the app doesn't have permission or something to use BTLE in the background.
– JoshL
Nov 13 '18 at 21:08
Also, just FYI, I can see the bleloop getting called for those 10 minutes or so in the background, but if a BTLE device comes into range the scan DOES NOT pick it up. It's like the app doesn't have permission or something to use BTLE in the background.
– JoshL
Nov 13 '18 at 21:08
Also, just FYI, I can see the bleloop getting called for those 10 minutes or so in the background, but if a BTLE device comes into range the scan DOES NOT pick it up. It's like the app doesn't have permission or something to use BTLE in the background.
– JoshL
Nov 13 '18 at 21:08
add a comment |
0
active
oldest
votes
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%2f53289200%2fcannot-keep-btle-running-in-background-in-ionic-3%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
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%2f53289200%2fcannot-keep-btle-running-in-background-in-ionic-3%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
Also, just FYI, I can see the bleloop getting called for those 10 minutes or so in the background, but if a BTLE device comes into range the scan DOES NOT pick it up. It's like the app doesn't have permission or something to use BTLE in the background.
– JoshL
Nov 13 '18 at 21:08