S
SlayNox
Ambitioniertes Mitglied
- 15
- Themenstarter
- #21
Also ich habe es soweit mal eingebunden und bin grade am testen dran. Funktioniert an sich sehr gut uns zuverlässig.
Intervall ist bei mir mal auf 1 minute gesetzt.
Jedoch fällt mir auf das, sobald das Gerät in den DeepSleep geht die übertragung nur noch ziemlich genau alle 5 minuten Stattfindet.
Am Alarmmanger liegt das denke ich nicht. Ich denke eher das dies am FusedLocationProvider liegt. Denn es kommt nur dann ein Upload zustande wenn dieser GPS erfolgreich abgefragt hat. Ich frage auch nicht die LastKnownLocation ab sondern mache ein Request und ein remove sobald die Request vollzogen wurde.
Eventuell liegt es aber auch am Upload selbst, das der Netzwerkzugriff villeicht stark eingeschränkt ist.
Habt ihr dafür noch ideen?
Intervall ist bei mir mal auf 1 minute gesetzt.
Jedoch fällt mir auf das, sobald das Gerät in den DeepSleep geht die übertragung nur noch ziemlich genau alle 5 minuten Stattfindet.
Am Alarmmanger liegt das denke ich nicht. Ich denke eher das dies am FusedLocationProvider liegt. Denn es kommt nur dann ein Upload zustande wenn dieser GPS erfolgreich abgefragt hat. Ich frage auch nicht die LastKnownLocation ab sondern mache ein Request und ein remove sobald die Request vollzogen wurde.
Code:
FusedLocationProviderClient mFusedLocationClient = LocationServices.getFusedLocationProviderClient(mContext);
LocationRequest mLocationRequest = new LocationRequest();
mLocationRequest.setPriority(LocationRequest.PRIORITY_HIGH_ACCURACY);
mLocationRequest.setInterval(UPDATE_INTERVAL);
mLocationRequest.setFastestInterval(FASTEST_INTERVAL);
mFusedLocationClient.requestLocationUpdates(mLocationRequest, new LocationCallback() {
@Override
public void onLocationResult(LocationResult locationResult) {
if(locatinResult != null){
mLocation = locationResult.getLastLocation();
String[] GPSData = ArrayHelper.getGPSArray();
Job currentJob = Job.getActiveJob(mContext);
Fahrzeug fahrzeug = Fahrzeug.getFahrzeug(mContext);
GPSData[0] = TimeHelper.getCurrentDateString();
GPSData[1] = TimeHelper.getCurrentTimeString();
GPSData[2] = currentJob.getId();
GPSData[3] = String.valueOf(getLatitude());
GPSData[4] = String.valueOf(getLongitude());
GPSData[5] = getLocationStreet();
GPSData[6] = getLocationStreetNumber();
GPSData[7] = getLocationPostalCode();
GPSData[8] = getLocationCity();
GPSData[9] = getLocationState();
GPSData[10] = getLocationCountry();
GPSData[11] = getLocationCountryCode();
GPSData[12] = User.getAlias();
GPSData[13] = fahrzeug.getAlias();
GPSData[14] = IMEI_Helper.getIMEI(mContext);
new HTTP_GPS_Upload(mContext, GPSData);
}
mFusedLocationClient.removeLocationUpdates(this);
}
},null);
Eventuell liegt es aber auch am Upload selbst, das der Netzwerkzugriff villeicht stark eingeschränkt ist.
Habt ihr dafür noch ideen?