0

アラートボックスを投稿した場合、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();
    }
4

1 に答える 1

1

理解できたかどうかわかりませんが、これを試してください:

http://developer.android.com/reference/android/app/Dialog.html#setCancelable(ブール値)

alert.setCancelable(false);
于 2013-05-28T14:22:30.083 に答える