0

ユーザー名とパスワードが sharedPreferences に保存されているかどうかを確認するためにアプリケーションを起動したいと思います。これらの資格情報が検出された場合はログイン ページが表示され、検出されなかった場合は登録ページが表示されます。ユーザーがアプリにログインした後、デバイスの戻るボタンが押された場合でもアプリの終了ボタンが押された場合でも、アプリ全体を閉じたいと思います。

アプリが正しく終了する以外はすべて機能しています。正しくコーディングしたと思っていましたが、そうではありませんでした。終了ボタンとデバイスの戻るボタンが選択されたときに、アプリ全体を閉じるにはどうすればよいですか。

終了方法:

      public void onClick(DialogInterface dialog, int which) {
      // TODO Auto-generated method stub
      finish();
      }
      });
    builder.setNegativeButton("No", new DialogInterface.OnClickListener() {

            public void onClick(DialogInterface arg0, int arg1) {
               arg0.cancel();
            }
        });
    AlertDialog alert=builder.create();
    alert.show();
4

3 に答える 3

3

finish()戻るボタンが押されたときにアクティビティを呼び出すだけです。

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
        finish();
    }
    return super.onKeyDown(keyCode, event);
}
于 2012-09-26T23:01:33.290 に答える
1
public void AppExit()
{

 this.finish();
 Intent intent = new Intent(Intent.ACTION_MAIN);
 intent.addCategory(Intent.CATEGORY_HOME);
 intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
 startActivity(intent);

/*int pid = android.os.Process.myPid();=====> use this if you want to kill your activity. But its not a good one to do.
 android.os.Process.killProcess(pid);*/

 }

アプリを終了する場合は、このメソッドを呼び出します。

戻るボタンが押されるたびにアプリを終了したい場合は、次のようにします

@Override
public boolean onKeyDown(int keyCode, KeyEvent event)  {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
    AppExit();
}
return super.onKeyDown(keyCode, event);
}
于 2012-09-27T03:54:36.383 に答える
1

このコードを使用して、アプリケーションを閉じたり終了したりできます。

android.os.Process.killProcess(android.os.Process.myPid());
于 2013-10-05T10:37:55.173 に答える