0

アプリケーションに多くのアクティビティがあります (例: 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();          
        }
    }
}
4

0 に答える 0