2

メインアクティビティのバックプレスでアプリを終了するには? 私はこのコードを使用していますが、メインのアクティビティを終了し、バックスタックから他のアクティビティを表示します。

@Override
    public void onBackPressed() {
        finish();
    }
4

10 に答える 10

11

セッションが期限切れになると、ユーザーは少数のビューしか表示できず、非表示のままになるアプリで作業しているため、これとその作業を本当にうまく試しました。

    @Override
    public void onBackPressed() {
        moveTaskToBack(true);
    }
于 2015-10-30T10:17:28.613 に答える
4

使用できます

android:noHistory="true" このようなアクティビティタグの下のマニフェスト

    <activity 
        android:name=".MainActivity"
        android:noHistory="true">
    </activity>
于 2015-10-30T10:13:11.500 に答える
3

これを試して

@override
public void onBackPressed(){
Intent a = new Intent(Intent.ACTION_MAIN);
a.addCategory(Intent.CATEGORY_HOME);
a.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
startActivity(a);
}
于 2015-10-30T10:08:21.833 に答える
3

これを試すこともできます。

@Override
    public void onBackPressed() {
       int pid = android.os.Process.myPid();
       android.os.Process.killProcess(pid);    
}
于 2015-10-30T10:08:33.420 に答える
3

これを試すことができます:

@Override
    public void onBackPressed() {
        // TODO Auto-generated method stub

        new AlertDialog.Builder(Activityname.this)
        .setTitle("Title")
        .setMessage("Do you really want to exit?")
        .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) { 
                ActivityCompat.finishAffinity(Activityname.this);
                finish();   
            }
        })
        .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int which) { 
                dialog.dismiss();
            }
        })
        .setIcon(android.R.drawable.ic_dialog_alert)
        .show();

    }

それがあなたの問題を解決することを願っています

于 2015-10-30T10:10:01.550 に答える
1

すでに尋ねました。最も一般的な答え:

getActivity().finish();
System.exit(0);
于 2015-10-30T10:10:34.837 に答える
0

こんにちは onBackPressed 内にこのコードを追加してみてください:

getActivity().finish();
System.exit(0);
于 2015-10-30T10:09:00.120 に答える
-1

これを試して、

Intent intent = new Intent(UserProfile.this, Login.class)
                            .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
finish();
于 2015-10-30T10:28:14.880 に答える
-2

試す public void onBackPressed() { finish(); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); finish(); }

終了()を使用してください。あるアクティビティから別のアクティビティに移行した後

于 2015-10-30T10:33:57.747 に答える