Veröffentlicht 27. Mai 201411 j 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?
27. Mai 201411 j Vielleicht solltest du mit Services arbeiten. (Edit: Misst, eine Sekunde zu langsam)
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.