WebChromeClient javascriptダイアログ backに注意

WebChromeClient で、javascript prompt に対応するものを書いたものの、

BACKハードキーを押すと、ページのズーム以外、何もできなくなってしまう。

ダイアログ生成時の Builder で、setCancelable(false) を実行しておくと解決する。

例)

public class CustomWebChromeClient extends WebChromeClient{
   private Context context;

   public CustomWebChromeClient(Context context){
      this.context = context;
   }

   @Override
   public boolean onJsPrompt(WebView view,String url,String message,String defaultValue,final JsPromptResult result){
      LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
      View layout = inflater.inflate(<R.layout.jsprompt,null);
      AlertDialog.Builder builder = new AlertDialog.Builder(context);
      final AlertDialog dialog = builder.setCancelable(false).setView(layout).create();
      *1;
         }
      });
      dialog.setButton2("cancel",new DialogInterface.OnClickListener(){
         @Override
         public void onClick(DialogInterface _dialog,int which){
            result.cancel();
         }
      });
      dialog.show();
      return true;
   }

*1:TextView)layout.findViewById(R.id.promptTextView).setText(message);
      final EditText edit = (EditText)layout.findViewById(R.id.promptEditText);
      edit.setText(defaultValue);
      dialog.setButton("OK",new DialogInterface.OnClickListener(){
         @Override
         public void onClick(DialogInterface _dialog,int which){
            result.confirm(edit.getText().toString(