mWebView = new WebView(ctCtext);
RelativeLayout.LayoutParams lptvWeb_Property = new RelativeLayout.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.MATCH_PARENT
);
lptvWeb_Property.addRule(RelativeLayout.CENTER_VERTICAL);
lptvWeb_Property.addRule(RelativeLayout.CENTER_HORIZONTAL);
mWebView.setLayoutParams(lptvWeb_Property);
rlRelativeLayout.addView(mWebView);
mWebView.getSettings().setJavaScriptEnabled(true);
mWebView.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
mWebView.getSettings().setBuiltInZoomControls(true);
mWebView.getSettings().setSupportMultipleWindows(true);
//웹뷰 설정에서 view port 설정 여부 지정가능 : 허용하면 뷰포트가 먹는다.
mWebView.getSettings().setUseWideViewPort(true);
mWebView.getSettings().setLoadWithOverviewMode(true);
// 각 화면에서 스크롤바 영역이 기본적으로 잡혀있던 문제를 영역 따로 없이 화면 위에 스크롤바가 생기도록 수정.
mWebView.setVerticalScrollbarOverlay(true);
mWebView.getSettings().setDomStorageEnabled(true);
mWebView.addJavascriptInterface(new AndroidBridge(), "HybridApp");
mWebView.setWebViewClient(new HelloWebViewClient());
mWebView.setWebChromeClient(new HelloWebChromeClient());
private class HelloWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
Log.i("shouldOverrideUrlLoading","url : " + url);
if(url.indexOf("mailto:")>-1){ // 이메일을 선택했을 때 mailto:링크가 실행되어 페이지를 찾을 수 없는 오류 발생 방지.
return false;
}else if(url.indexOf("tel:")>-1){
return false;
}
view.loadUrl(url);
// Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
// startActivity(intent);
return true;
}
private class HelloWebChromeClient extends WebChromeClient {
@Override
public void onCloseWindow(WebView window) {
super.onCloseWindow(window);
HybridWebView.this.finish();
}
@Override
public boolean onCreateWindow(WebView view, boolean dialog,
boolean userGesture, Message resultMsg) {
// TODO Auto-generated method stub
return super.onCreateWindow(view, dialog, userGesture, resultMsg);
}
}
웹뷰에서 페이스북 자바스크립트를 이용해서 로그인을 하려고하는데요
페이스북 로그인 버튼은 보이는데 클릭하면 아무런 반응이 없습니다.
그런데 같은페이지를 모바일 웹브라우저에서 띄우면 로그인버튼 클릭시
모바일 페이스북 로그인페이지로 넘어갑니다.
혹시 웹뷰 설정에 문제가 있는지 한번 검토 부탁드립니다.