アプリケーションに多くのアクティビティがあります (例: A->B->C->D)...A はログイン アクティビティです...セッション タイムアウトに使用しているカウントダウンタイマーがあります..やりたいことは..ユーザーをログアウトします..つまり、アクティビティB、C、Dにユーザーとのやり取りがない場合、彼をアクティビティAに戻します...アプリケーションクラスを拡張し、その中でタイマーをインスタンス化しました...しかしこのアクティビティでは、前のアクティビティのスタックトップ、つまり行をクリアできません
addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
例外をスローします..この問題をどのように解決しますか...これが私のコードです...
public class MyApp extends Application {
MyCount count;
@Override
public void onCreate() {
// reinitialize variable
count = new MyCount(5000, 1000);
}
public void startcounter() {
count.start();
}
public void cancelcounter() {
count.cancel();
}
public class MyCount extends CountDownTimer {
public MyCount(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}
@Override
public void onFinish() {
try{
Intent my = new Intent(getApplicationContext(), Login.class);
my.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(my);
Toast.makeText(getApplicationContext(), "Finsihed",
Toast.LENGTH_LONG).show();
}
catch(Exception e )
{
Toast.makeText(getApplicationContext(), String.valueOf(e),
Toast.LENGTH_LONG).show();
}
}
@Override
public void onTick(long millisUntilFinished) {
// TODO Auto-generated method stub
// Toast.makeText(getApplicationContext(), String.valueOf(millisUntilFinished/1000),
// Toast.LENGTH_LONG).show();
}
}
}