[Android] WebView alert does not work 안드로이드 webview에서 alert 띄우기

북마크 추가

Webview를 통해 하이브리드 앱을 만들때

setJavaScriptEnabled(true)를 설정해도 javascriptalert 또는 confirm은 반응이 없다.

Webview 내에서 alert이나 confirm창을 띄우기 위해서는 별도로 구현을 해줘야 한다. 

 

private WebView mWebView;

protected void onCreate(Bundle savedInstanceState) {

 

super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mWebView = (WebView) findViewById(R.id.activity_trandent_webview);

WebSettings set = mWebView.getSettings();

set.setJavaScriptEnabled(true);

 

final Context myApp = this;

mWebView.setWebChromeClient(new WebChromeClient() {
@Override
public boolean onJsAlert(WebView view, String url, String message, final android.webkit.JsResult result)
{
new AlertDialog.Builder(myApp).setTitle("Alert").setMessage(message)
.setPositiveButton(android.R.string.ok,new AlertDialog.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
result.confirm();
}
}).setCancelable(false).create().show();
return true;
}


});


 }

 

기본적으로 setJavaScriptEnabled(true)를 통해 javascript 사용설정이 되어 있어야 하고

 

setWebChromeClient에 위의 @Override 내용을 추가 해 준다.

 

결과 - 

 

 

 

 

 

 

 

 

 

 

 

 

AD
관리자
2016-05-17 13:48
SHARE