GPS Location 10 Minuten lang aufzeichnen

  • Antworten:3
Rainer Unsinn
  • Forum-Beiträge: 28

06.03.2018, 15:49:50 via Website

Liebe alle, Ich bastel ja nun einige Zeit schon an LocationManager und LocationListener, ich habe beide in der MainActivity und ich schreibe mir einen Datensatz in eine Log-Datei, sobald es ein Location-Update gibt.

Wenn ich das jetzt für 10 Minuten machen will (Position ermitteln und aufzeichnen), geht ja mein Handy in der Zwischenzeit "schlafen" - muss ich da einen Dienst (Service) programmieren, damit es "im Schlaf" weiter loggt, oder geht es auch einfacher?

Kommentieren
swa00
  • Forum-Beiträge: 3.704

07.03.2018, 05:38:32 via Website

Hallo Rainer,

Service muss nicht sein , du kannst z.b. auch den "Schlaf" auf unendlich stellen.

////////////////////////////////////////////////////////////////////////////
public void setDisplayTimeOut (int ms)
{
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
android.provider.Settings.System.putInt(mActivity.getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, Integer.MAX_VALUE);
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Settings.System.putInt(mActivity.getContentResolver(), Settings.System.SCREEN_OFF_TIMEOUT, ms);
}

Usage : setDisplayTimeout ( 999999999 );

Oder eine andere Variante :

@Override public void onResume()
{
super.onResume();
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}
@Override public void onPause() {
super.onPause();
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
}

— geändert am 07.03.2018, 05:42:40

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Rainer Unsinn
Kommentieren
Rainer Unsinn
  • Forum-Beiträge: 28

07.03.2018, 08:22:26 via Website

Vielen Dank, werde mich belesen und testen!

Hilfreich?
Kommentieren
Rafael K.
  • Forum-Beiträge: 2.359

07.03.2018, 10:24:38 via Website

Das Display an zu lassen ist eine Idee.
Wenn du es wirklich im Hintergrund machen willst, musst du auf die Änderungen achten, die sich seit Android 6, 7 und speziell 8 ergeben haben, was Services angeht.

Wenn du sichergehen willst, dass dein Service nicht gekillt wird, solltest du zumindest eine Foreground Notification nutzen, so wie z.B WhatsApp Web das tut.

https://developer.android.com/guide/components/services.html#Foreground

Hilfreich?
Rainer Unsinn
Kommentieren