Open ivinantony opened 2 years ago
@josuelmm thank you it works but it doesnt give data when app is in background
Use this plugin https://github.com/HaylLtd/cordova-background-geolocation-plugin/
@mauron85 @josuelmm i used this plugin but when we allow the permission and after 2,3 second app is crashing in android. do you have any idea? and it doesn't work in background in android after 5 or 6 minutes too
I have this configuration
this.configBackground = {
stopOnTerminate:false,
locationProvider:2,
desiredAccuracy: 0,
stationaryRadius: 0,
distanceFilter: 0,
debug: false,
interval:3000,
fastestInterval:2000,
notificationsEnabled:true,
startForeground:false,
notificationTitle:' ',
notificationText:'Navegación activada',
notificationIconColor: '#c50707',
notificationIconLarge:'ic_tracking',
notificationIconSmall:'ic_tracking',
};
Working excelent in background with the application minimized...
@josuelmm thanks. but for me in ios app is getting crashing while allowing the permissio
n
Request permission of ACTIVITY_RECOGNITION before permission location Use the plugin https://ionicframework.com/docs/native/android-permissions
thank you so much @josuelmm i will try this.
this.androidPermissions.requestPermission('android.permission.ACTIVITY_RECOGNITION') .then(result => { if (!result.hasPermission){ this.permissionActivity = false; }else{ this.permissionActivity = true; } }) .catch(err=>{ this.permissionActivity = false; });
@josuelmm does it works for you in ios too? for me it works for a 5 minutes in ios and android almost 1 hour. after that this plugin also goes sleep.can i see the way you integrated?
You must request permission to run in the background, and notify the client that they must remove the battery saving app.
You do the battery permission with powerOptimization import { PowerOptimization } from '@awesome-cordova-plugins/power-optimization/ngx';
async requestPermissionLocationForever(){ this.androidPermissions.requestPermission('android.permission.ACCESS_BACKGROUND_LOCATION') .then(result => { if (!result.hasPermission){ this.permissionActivityForever = false; }else{ this.permissionActivityForever = true; } }) .catch(err=>{ this.permissionActivityForever = false; }); }
`async RequestOptimizations(){ this.powerOptimization.RequestOptimizations().then(status =>{ this.IsIgnoringBatteryOptimizations(); this.IsIgnoringDataSaver(); this.HaveProtectedAppsCheck(); }) .catch(error => { this.permissionBattery = false; }); }
async IsIgnoringDataSaver(show = false){ this.powerOptimization.IsIgnoringDataSaver().then((status) => { this.permissionBackground = status; if (status == false && show == true){ this.powerOptimization.RequestDataSaverMenu().then((result) => {}, (err) => {}); } }, (err) => { this.permissionBackground = false; }); }
async IsIgnoringBatteryOptimizations(show = false){ this.powerOptimization.IsIgnoringBatteryOptimizations().then(status =>{ if (status == false && show == true){ this.showAlertBattery(); }
if (status == false){
setTimeout(()=>{
this.IsIgnoringBatteryOptimizations();
this.IsIgnoringDataSaver();
this.HaveProtectedAppsCheck();
},10000);
}
this.permissionBattery = status;
})
.catch(error => {
this.permissionBattery = false;
});
}
async HaveProtectedAppsCheck(){ this.powerOptimization.HaveProtectedAppsCheck().then((result) => { this.permissionBatteryProtect = result; }, (err) => { this.permissionBatteryProtect = false; }); }`
@josuelmm thank you so much for your help this all helped me a lot. Thanks for your updates.
@josuelmm is there any directly to the location permission instead of opening the all permissions like in this pic?
@josuelmm but that plugin not working in Samsung can you show me an example how you are asking permission and all
Use this plugin https://github.com/HaylLtd/cordova-background-geolocation-plugin/
So, is this plugin "@mauron85/cordova-plugin-background-geolocation" to be ignored now and this one to be used instead "https://github.com/HaylLtd/cordova-background-geolocation-plugin/" ? I'm asking because Ionic page points to this plugin.
Si correcto @steven-fernandez
Si correcto @steven-fernandez
Gracias :)
Use this plugin https://github.com/HaylLtd/cordova-background-geolocation-plugin/
hi, I try to compile for andorid with that plugin but I get an error too, any tips? I already try to removed/add android platform.
error: cannot access zzbfm
confidence = activity.getConfidence();
^
class file for com.google.android.gms.internal.zzbfm not found
This plugin gives error in ionic 6 android due to android permission
ionic info
Ionic:
Ionic CLI : 6.19.0 (/usr/local/lib/node_modules/@ionic/cli) Ionic Framework : @ionic/angular 6.0.12 @angular-devkit/build-angular : 13.2.6 @angular-devkit/schematics : 13.2.6 @angular/cli : 13.2.6 @ionic/angular-toolkit : 6.1.0
Cordova:
Cordova CLI : 11.0.0 Cordova Platforms : android 10.1.1 Cordova Plugins : cordova-plugin-ionic-keyboard 2.2.0, cordova-plugin-ionic-webview 5.0.0, (and 3 other plugins)
Utility:
cordova-res : 0.15.4 native-run : 1.5.0
System:
ios-deploy : 1.11.4 NodeJS : v16.14.0 (/usr/local/bin/node) npm : 8.1.0 OS : macOS Monterey Xcode : Xcode 13.3 Build version 13E113
cordova -v
): 11.0.0cordova platform ls
):Context
In Ios its working fine but in android while creating build it shows error of android permission.
Expected Behavior
Its should not have any issue while android build
Actual Behavior
FAILURE: Build failed with an exception.
What went wrong: Execution failed for task ':app:mergeDebugResources'.
Try:
Possible Fix
Steps to Reproduce
1.create an ionic 6 app
installed this plugin 3.create android build
Context
Debug logs