Hej,
Czy jest możliwość działania w tle np. progress bara bez użycia Serwisów ?
0
0
ProgressBar to przecież widok. Po co miałby działać w tle, jeżeli i tak go nie będzie widać?!
Podejrzewam, że chcesz sobie liczyć o ile przesunął się znacznik na ProgressBar żeby go zaktualizować gdy użytkownik wróci do aplikacji. Zamiast liczenia tego w serwisie możesz sprawdzać ile czasu minęło od ostatniego uruchomienia aplikacji i na podstawie obliczeń aktualizować ProgressBar. W ten sposób pozbędziesz się serwisu. Jeżeli obawiasz się, że użytkownik będzie sobie zmieniał czas w urządzeniu, to możesz sprawdzać czas w Internecie:
import java.io.IOException;
import org.apache.commons.net.time.TimeTCPClient;
public final class GetTime {
public static final void main(String[] args) {
try {
TimeTCPClient client = new TimeTCPClient();
try {
// Set timeout of 60 seconds
client.setDefaultTimeout(60000);
// Connecting to time server
// Other time servers can be found at : http://tf.nist.gov/tf-cgi/servers.cgi#
// Make sure that your program NEVER queries a server more frequently than once every 4 seconds
client.connect("nist.time.nosc.us");
System.out.println(client.getDate());
} finally {
client.disconnect();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}