-1

こんにちは、この件に関するstackoverflowに関する多くの投稿を読みましたが、まだ問題を解決できません。アクティビティ スタックをクリアする必要がありますが、次のコマンドは機能しません。

intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);

私はAPI 15 android4.0.3に対して次のことも試しました

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);

注意が効くようです。

ここに完全なメソッドコードがあります

@Override
    public void onBackPressed() {
        super.onBackPressed();

        Intent intent = new Intent(this, FiltriAnagraficaPagina.class);
        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
        startActivity(intent);
    }
4

3 に答える 3

1

試す

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK)
于 2012-04-05T12:49:46.097 に答える
0

アクティビティでonBackPressed()の代わりにonKeyDown ()メソッドをオーバーライドします

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {


    if (keyCode == KeyEvent.KEYCODE_BACK) {

       Intent intent = new Intent(this, FiltriAnagraficaPagina.class);
           intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
           startActivity(intent);
        return true;
        }
     return super.onKeyDown(keyCode, event);
}
于 2012-04-05T13:22:57.130 に答える
0

これはあなたを助けるかもしれません

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
intent.addCategory(Intent.CATEGORY_HOME); 

/////////////////////////////////// あなたのコメントに従って編集

as you start activity B
finish activity A
and on backpress of activity B
start activity A
于 2012-04-05T12:54:10.690 に答える