질문란에 여러개가 올라와서 이곳에 글을 올립니다.
Popup 부분은 구글 기본 브라우저 소스를 참조하면 작업이 좀 들어가긴 하지만 어렵지 않게 구현가능합니다.
간략한 설명은
1. http://android.git.kernel.org/ 에서 platform/packages/apps/Browser.git 다운로드
2. WebView.getSettings().setSupportMultipleWindows(true); 설정
3. webViewClient, webChromeClient 지정
4. tab.java - webChromeClient 의 onCreateWindow() 참조
setSupportMultipleWindows(true) 에 의해 onCreateWindow() 가 호출됩니다.
이때, onCreateWindow() 내에 popup창으로 사용할 view생성해서 webkit에 던져주면 표시됩니다.
아래와 같이 코딩을 했는데 window.open script를 의해서 webview에서 주소창이 보이는 새창이 뜨네요.
처음에 webview가 뜬 페이지에서 web처럼 창만 뜰수가 없나요? 그리고 모달팝업은 작동이 되지 않네요(window.showModalDialog ...)
@Override
public boolean onCreateWindow(WebView view, boolean dialog,
boolean userGesture, Message resultMsg) {
WebView childView = new WebView(Intro.this);
final WebSettings settings = childView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setJavaScriptCanOpenWindowsAutomatically(true);
settings.setSupportMultipleWindows(true);
childView.setWebChromeClient(this);
WebView.WebViewTransport transport = (WebView.WebViewTransport) resultMsg.obj;
transport.setWebView(childView);
resultMsg.sendToTarget();
감사합니다~ 정말 많은 도움 되었습니다~ 일단 구조는 어느정도 이해가 되는데, 제대로 구현하기가 힘드네요 ㅇ_ㅇ;;
tab.java 파일 열심히 들여다보는중입니다만...ㅇ_ㅇ;; oncreate 이용해서 새 브라우저는 어떻게 띄웠는데,
기본 브라우저처럼 close 스크립트가 먹질않고;;데이터도 안넘어가네요 ㅠ;
괜찮으시다면 조금더 힌트를 주시면 감사하겠습니다..~;;;