アラートボックスを投稿した場合、TouchEvent をブロックしたいのですが、実際には画面を押すことができ、パスワードで保護された画面にアクセスできます。どうすれば自分のパスワードが正しいかのように画面へのアクセスを保護できます。私のダイアログボックスは以下のコードで与えられます:
void showDialog() {
final String myPassword = getResources().getString(R.string.password);
AlertDialog.Builder alert = new AlertDialog.Builder(this);
alert.setTitle(R.string.connection);
// Set an EditText view to get user input
final EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_TEXT
| InputType.TYPE_TEXT_VARIATION_PASSWORD);
alert.setView(input);
alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String value = input.getText().toString();
String hashedPassword = Utilities.md5(value);
if (myPassword.equalsIgnoreCase(hashedPassword)) {
//code
} else {
Toast.makeText(getApplicationContext(),
"Mot de passe incorrect", Toast.LENGTH_LONG).show();
admin = false;
Intent intent = getIntent();
finish();
startActivity(intent);
}
}
});
alert.setNegativeButton("Annuler",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
// Canceled.
Intent intent = getIntent();
finish();
startActivity(intent);
}
});
alert.show();
}