BackgroundGeolocation is not defined
See original GitHub issue- Plugin version: last
- Platform: Android
- OS version: 6.0.0
- Device manufacturer and model: Samsung Galaxy s7
- Cordova version (
cordova -v
): 8.0.0
cordova-android-play-services-gradle-release 1.4.2 “cordova-android-play-services-gradle-release” cordova-plugin-device 2.0.2 “Device” cordova-plugin-facebook4 2.1.0 “Facebook Connect” cordova-plugin-geolocation 4.0.1 “Geolocation” cordova-plugin-googlemaps 2.3.2 “cordova-plugin-googlemaps” cordova-plugin-inappbrowser 3.0.0 “InAppBrowser” cordova-plugin-ionic-keyboard 2.1.2 “cordova-plugin-ionic-keyboard” cordova-plugin-ionic-webview 1.2.1 “cordova-plugin-ionic-webview” cordova-plugin-mauron85-background-geolocation 2.3.5 “CDVBackgroundGeolocation” cordova-plugin-request-location-accuracy 2.2.3 “Request Location Accuracy” cordova-plugin-splashscreen 5.0.2 “Splashscreen” cordova-plugin-whitelist 1.3.3 “Whitelist” cordova.plugins.diagnostic 4.0.8 “Diagnostic”
I am trying to use this plugin for IONIC1 and use the code provided in the “README” of this page. when I compile and tested on my galaxy s7, I am getting this error:
I am using this code:
app.controller(‘loginController’, function($scope,$timeout) { function onDeviceReady() { BackgroundGeolocation.configure({ locationProvider: BackgroundGeolocation.ACTIVITY_PROVIDER, desiredAccuracy: BackgroundGeolocation.HIGH_ACCURACY, stationaryRadius: 50, distanceFilter: 50, notificationTitle: ‘Background tracking’, notificationText: ‘enabled’, debug: true, interval: 10000, fastestInterval: 5000, activitiesInterval: 10000, url: ‘http://192.168.81.15:3000/location’, httpHeaders: { ‘X-FOO’: ‘bar’ }, // customize post properties postTemplate: { lat: ‘@latitude’, lon: ‘@longitude’, foo: ‘bar’ // you can also add your own properties } });
BackgroundGeolocation.on('location', function(location) {
// handle your locations here
// to perform long running operation on iOS
// you need to create background task
BackgroundGeolocation.startTask(function(taskKey) {
// execute long running task
// eg. ajax post location
// IMPORTANT: task has to be ended by endTask
BackgroundGeolocation.endTask(taskKey);
});
});
BackgroundGeolocation.on('stationary', function(stationaryLocation) {
// handle stationary locations here
});
BackgroundGeolocation.on('error', function(error) {
console.log('[ERROR] BackgroundGeolocation error:', error.code, error.message);
});
BackgroundGeolocation.on('start', function() {
console.log('[INFO] BackgroundGeolocation service has been started');
});
BackgroundGeolocation.on('stop', function() {
console.log('[INFO] BackgroundGeolocation service has been stopped');
});
BackgroundGeolocation.on('authorization', function(status) {
console.log('[INFO] BackgroundGeolocation authorization status: ' + status);
if (status !== BackgroundGeolocation.AUTHORIZED) {
// we need to set delay or otherwise alert may not be shown
setTimeout(function() {
var showSettings = confirm('App requires location tracking permission. Would you like to open app settings?');
if (showSetting) {
return BackgroundGeolocation.showAppSettings();
}
}, 1000);
}
});
BackgroundGeolocation.on('background', function() {
console.log('[INFO] App is in background');
// you can also reconfigure service (changes will be applied immediately)
BackgroundGeolocation.configure({ debug: true });
});
BackgroundGeolocation.on('foreground', function() {
console.log('[INFO] App is in foreground');
BackgroundGeolocation.configure({ debug: false });
});
BackgroundGeolocation.checkStatus(function(status) {
console.log('[INFO] BackgroundGeolocation service is running', status.isRunning);
console.log('[INFO] BackgroundGeolocation services enabled', status.locationServicesEnabled);
console.log('[INFO] BackgroundGeolocation auth status: ' + status.authorization);
// you don't need to check status before start (this is just the example)
if (!status.isRunning) {
BackgroundGeolocation.start(); //triggers start on start event
}
});
// you can also just start without checking for status
// BackgroundGeolocation.start();
// Don't forget to remove listeners at some point!
// BackgroundGeolocation.events.forEach(function(event) {
// return BackgroundGeolocation.removeAllListeners(event);
// });
}
document.addEventListener('deviceready', onDeviceReady, false);
});
What am I missing or what am I doing wrong? thanks
Issue Analytics
- State:
- Created 5 years ago
- Reactions:2
- Comments:13 (4 by maintainers)
Top GitHub Comments
Sorry for the confusion. Maybe it’s time to make 3.x stable.
I know, and I saw it, But intuitively I thought that this is intended for people using an old version and not the latest stable, i.e. I got to this repository and read this and said to myself: “hmm, this is interesting, but I’m using latest stable so this is probably not intended for me”, and continued to using it and then failing and then finding this issue…