アクティビティが開始され、次のアクティビティにいつ進むかをチェックするスレッドを作成します。しかし、時々、このアクティビティが自分自身を殺す必要があります。onPause はこれを行いますが、その後スレッドはまだ生きていて、時間がなくなると新しいアクティビティを開始します。このスレッドを強制終了して goToFinals インテントを停止することは可能ですか?
public class Questions extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
String in = getIntent().getStringExtra("time");
long tmp = Long.parseLong(in);
endTime = (long) System.currentTimeMillis() + tmp;
Thread progress = new Thread(new Runnable() {
public void run() {
while(endTime > System.currentTimeMillis()) {
try {
Thread.sleep(200);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
Intent goToFinals = new Intent(Questions.this,End.class);
startActivity(goToFinals);
}
});
progress.start();
}
@Override
protected void onPause() {
super.onPause();
finish();
}
}