-2

実際、私は Android アプリ開発の初心者です。私のアプリケーションにはいくつかのアクティビティがあり、アプリケーションを終了できる終了オプション メニューをユーザーに提供しました。しかし問題がある。終了ボタンを押すと、アプリケーションを終了できますが、2 回目にアプリケーションに入ると、最後に中断したページが起動されます。ここに私のコードがあります:

@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
    switch (item.getItemId()) {
        case 0 :
            Intent intent = new Intent(Intent.ACTION_MAIN);
            intent.addCategory(Intent.CATEGORY_HOME);
            intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
            startActivity(intent);
            finish();
            Toast.makeText(this, "Goodbye Dear", Toast.LENGTH_LONG).show();
            break;
4

4 に答える 4

0

コードの問題はIntent.FLAG_ACTIVITY_NEW_TASK、現在のタスクを削除しないことです。詳細については、こちらをご覧ください:タスクとバック スタック | Android 開発者

を使ってみてくださいIntent.FLAG_ACTIVITY_CLEAR_TOP。ドキュメントから、これにより望ましい動作が得られることがわかります。

設定されている場合、起動されているアクティビティが現在のタスクで既に実行されている場合、そのアクティビティの新しいインスタンスを起動する代わりに、その上にある他のすべてのアクティビティが閉じられ、このインテントがに配信されます (現在上)新しいインテントとしての古いアクティビティ。

于 2014-04-03T20:28:50.793 に答える