본문 바로가기

개발도구/aOS - 안드로이드 개발

[안드로이드] webview 외장 브라우져 새창띄우기

html tag중에 <a href="http.... target="_blank">을 주게 되면 브라우져에서는 새창이 띄우게 된다. 
하지만, webview 와 같이 엔진을 사용하게 된다면, 새창은 띄워지지 않는다.,
아래와 같이 . shouldOverrideUrlLoading 을 이용하여 브라우져에 http 같은 문자를 검색하여 새창을 띄울수 있다. 


browser.setWebViewClient(new WebViewClient() {  
     
    @Override
        public boolean shouldOverrideUrlLoading(WebView view, String overrideUrl) {
       
    view.stopLoading();
   
        //Log.d("test", overrideUrl);
       
         
        if(overrideUrl.contains("close")) {
       
        finish();
                   
        }else{
        if(overrideUrl.startsWith("http:")) {
                Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(overrideUrl));
                startActivity(i);
                return true;
                }else{        
        view.loadUrl(overrideUrl);
                }
        }
       
        return false;
        }           
     
        public void onReceivedError(WebView view, int errorCode, String description, String fallingUrl) {  
       
        view.loadData("<html><body></body></html>", "text/html", "UTF-8");
         
         
         
         
        //Toast.makeText(activity, "로딩오류"+description, Toast.LENGTH_SHORT).show();  
        }  
   }); 
browser.loadUrl(link);