errox Geschrieben 27. Mai 2014 Geschrieben 27. Mai 2014 Servus Jungs, ich hab ne kleine App, die im Hintergrund Zahlen hochzählt (Als eine Art Timer). Vorab: Ja ich weiss, ich könnte auch den Aktuellen Zeitstempel Nehmen und hochrechnen. Aber man kann das Datum / Die Uhrzeit verändern. Das will ich nicht. Außerdem soll Später im Sekundentakt auch was anderes passieren im Hintergrund (z.B. GPS Positionen übermitteln für eine Ortungssoftware). Nein, ich mach das nicht unerlaubt. Das ist für mich selber. Jedenfalls hab ich das mal verkleinert und ein Label gemacht, dass einfach den Freien Speicher anzeigt. public void StartClick(View v) { TextView view = (TextView)findViewById(R.id.lblFreeSpace); new AppendFileThread(v); Thread th = new Thread(new Runnable() { public void run() { while (true) { runOnUiThread(new Runnable() { @Override public void run() { long availableSpace = -1L; StatFs stat = new StatFs(Environment.getDataDirectory().getPath()); availableSpace = (long) stat.getAvailableBlocks() * (long) stat.getBlockSize(); TextView lbl = (TextView)findViewById(R.id.lblFreeSpace); lbl.setText(String.valueOf(availableSpace)); } }); try { Thread.sleep(500); } catch (InterruptedException e) { e.printStackTrace(); } } } }); th.start(); } Wenn die App im Hintergrund läuft, wird die nach ner Zeit beendet. Wie kann ich das verhindern? Zitieren
Klotzkopp Geschrieben 27. Mai 2014 Geschrieben 27. Mai 2014 Wie kann ich das verhindern?Mach einen Service, keine App. Zitieren
pr0gg3r Geschrieben 27. Mai 2014 Geschrieben 27. Mai 2014 Vielleicht solltest du mit Services arbeiten. (Edit: Misst, eine Sekunde zu langsam) Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.