ホーム画面アイコンと終了ボタンを含むアクションバーを備えた1つのメインアクティビティ「ダッシュボード」があり、ダッシュボード画面からアクティビティA - >アクティビティB - >アクティビティCに移動します。Cで、ダッシュボード画面に表示されるアクションバーのダッシュボードアイコンをクリックします。
ここで、ダッシュボード画面からアクティビティ E -> アクティビティ G -> アクティビティ H に移動します。H i press exit button から、C screen に来ます。もう一度終了をクリックすると、アプリケーションから抜け出します。
アプリケーションを終了するには、終了ボタンを 2 回押す必要があるのはなぜですか。
ホーム画面のアイコン:-
public void onClickHome(View view){
final Intent intent = new Intent(getBaseContext(), Dashboard.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
getBaseContext().startActivity(intent);
//goDashboard();
}
終了ボタン:-
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle(getString(R.string.logoutDialogTitle));
alert.setMessage(getString(R.string.logoutDialogMessage));
final OnlineBookApp app = (OnlineBookApp) getApplicationContext();
alert.setPositiveButton(getString(R.string.logoutDialogCancel), new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
}
});
alert.setNegativeButton(getString(R.string.logoutDialogOk),
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//finish();
//stopService(new Intent(getBaseContext(), DatabaseSyncService.class));
//
// moveTaskToBack(true);
//// stopService(new Intent(getBaseContext(),
DatabaseSyncService.class));
// System.runFinalizersOnExit(true);
// android.os.Process.killProcess(android.os.Process.myPid());
//moveTaskToBack(true);
// finish();
// app.SetIsExit(true);
Intent intent = new Intent(getApplicationContext(), Dashboard.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
}
});
alert.setNeutralButton(getString(R.string.logoutDialogLogout), new
DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
//finish();
//stopService(new Intent(getBaseContext(),
DatabaseSyncService.class));
//finish();
//app.SetIsExit(true);
//stopService(new Intent(getBaseContext(),
DatabaseSyncService.class));
app.logout();
Intent intent = new Intent(getApplicationContext(),
Dashboard.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
}
});
alert.show();