Theme.Dialogテーマのアクティビティであるパスワード入力ダイアログを持っているので、ブロードキャストレシーバーで使用する必要があるため、実際にはAlertDialogのように見えますが、ホームボタンが必要なため、ホームボタンをブロックしたいという問題があります。セキュリティアプリケーション、これを使用するとHOMEボタンのブロックが機能します
@Override
public void onAttachedToWindow()
{
this.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);
super.onAttachedToWindow();
}
ボタンをクリックした後にパスワードが間違っている場合、PasswordDialogアクティビティを再起動しません。何か提案はありますか?
検証コード:
login.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
password = inputPassword.getText().toString();
final String SHA1hash = PhysicalTheftPassword.getSHA1(password);
if (correctSHA1.equals(SHA1hash)) {
//SharedPreferences sp = getSharedPreferences("isPhysicalTheftEnabled", MODE_WORLD_READABLE);
//SharedPreferences.Editor ed = sp.edit();
//ed.putBoolean("isPhysicalTheftEnabled", false);
//ed.commit();
Toast.makeText(PhysicalTheftDialog.this, "Correct", Toast.LENGTH_LONG).show();
finish();
stopService(new Intent(PhysicalTheftDialog.this, MyService.class));
Log.v(TAG, "SHA1 Hash:" + SHA1hash);
Log.v(TAG, "Correct SHA1:" + correctSHA1);
}
else {
Toast.makeText(PhysicalTheftDialog.this, "Wrong", Toast.LENGTH_LONG).show();
Intent Act2Intent = new Intent(PhysicalTheftDialog.this, PhysicalTheftDialog.class);
finish();
startActivity(Act2Intent);
Log.v(TAG, "SHA1 Hash:" + SHA1hash);
Log.v(TAG, "Correct SHA1:" + correctSHA1);
}