Для чего-то подобного я использовал псевдоселетон-объект в качестве класса Application . Этот объект будет создан в начале и будет находиться в памяти. Но учтите, что система прекратит приложение, если память понадобится другим приложениям. Однако этот объект является постоянным, даже если все действия временно завершены.
Чтобы использовать это, вам нужно объявить, что в вашем манифесте android как здесь:
Вот пример кода :
public abstract class MySingeltonClass extends Application {
// ...
public void informClientOnline() {
clientOnline=true;
Log.v(LOG_TAG, "Client is online!");
}
public void informClientShutdown() {
clientOnline=false;
Log.v(LOG_TAG, "Client is going offline. Waiting for restart...");
Timer t=new Timer("shutdowntimer", false);
t.schedule(new TimerTask() {
@Override
public void run() {
if(!clientOnline) {
Log.v(LOG_TAG, "Client has not restartet! Shutting down framework.");
shutdown();
System.exit(0);
}
}
}, 5000);
}
}
эти две функции вызываются так:
((MySingeltonClass)getApplicationContext()).informClientOnline();