마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

웹뷰 특정 url 호출시에는 새창 열림 막고, 웹뷰 내에서 호출할려고 하면 어떻게 해야 하나요?

0 추천

일단 기본은 새창에서 열리도록 

 

WebSettings mWebSettings = mWebView.getSettings();
mWebSettings.setSupportMultipleWindows(true); // 새창 열기
 
이렇게 설정을 했고
 
특정 url 호출시에는 새창이 아니라, 웹뷰 내에서 호출하도록  
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith("https://api-livere.com/")) {
        startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
        mWebSettings.setSupportMultipleWindows(false); // 새창 열기
        mWebView.loadUrl(url);
        return true;
    } else {
        return false;
    }
}
 
이런 식으로 해 봤는데 잘 안 되네요;; 도와주세요ㅠ 
홍구홍구 (470 포인트) 님이 2021년 5월 3일 질문

1개의 답변

+1 추천
 
채택된 답변
startActivity는 해당 URL로 새로운 액티비티를 뛰우는 것이고 mWebView.loadUrl은 현재 웹뷰에서 로드하는 것인데 두개를 동시에 하고 있네요? startActivity부분이 없어야 하는것 아닌가 싶네요.
회색 (21,340 포인트) 님이 2021년 5월 4일 답변
홍구홍구님이 2021년 5월 4일 채택됨
...