Ti rispondo per la parte delle nuove checkbox:
Nella mia app dove dovevo aggiungere alcuni elementi runtime e ho risolto così
1. Prima di tutto ho dichiarato una variabiel che mediante findViewById prendeva il layout al quale si vuole aggiungere l'oggetto. (Nel mio caso era un RelativeLayout).
Attenzione che se non è definito devi dichiarargli un attributo android:id
2.A questo punto dichiari un nuovo oggetto di tipo CheckBox, configuri tutti i valori necessari e poi lo aggiungi alla view con il metodo AddView.
In pratica farai qualcosa del genere:
codice:
Relative layout = (RelativeLayout)findViewById(R.id.mainLayout);
//dichiari la tua checkbox nuova
layout.addView(nuovacheckbox)
Poi per la parte della cancellazione, nn mi sono ancora imbattuto in un problema del genere (quindi non so farlo ) cmq credo che potresti usare un CountDownTimer (ma non so come potresti gestire se l'applicazione resta solo in memoria, magari boh potrebbe aver a che fare con i vari metodi onPause, onResume).
Io nella mia app ho fatto qualcosa del genere:
codice:
new CountDownTimer(timerDuration*1000, 1000){
public void onFinish(){
turnOff();
timerDuration = 0;
}
@Override
public void onTick(long millisUntilFinished) {
// Do Nothing
}
}.start();
Spero i miei suggerimenti siano utili