Android Studio/java
16. [안드로이드/java] 웹뷰에서 외부 브라우저로 url 열기
drizzle0925
2021. 10. 14. 16:25
728x90
Android
MainActivity
protected void onCreate(Bundle savedInstanceState) {
...
mWebView.setWebViewClient(new WebViewClientClass()); // 외부 브라우저 띄우기
}
private class WebViewClientClass extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if(url != null && url.startsWith("callapp:")) { // 무료 포인트 클릭 이벤트
String decodeUrl = null;
try{
if(url.contains("externalBrowser")){
String inputUrl = url.split("///")[1];
decodeUrl = new String(Base64.decode(inputUrl, 0));
}
Intent intent = Intent.parseUri(decodeUrl, Intent.URI_INTENT_SCHEME);
if(intent != null){
startActivity(intent);
}
return true;
}catch(URISyntaxException e){
e.printStackTrace();
}
}
view.loadUrl(url);
return false;
}
}
JavaScript
e.preventDefault();
let $url = $(this).data("url");
let $url_base64 = btoa($url); // base64 인코딩
let platform = mobileCheck();
console.log(platform);
if(platform === 'ios' || platform === 'android'){
location.href = "callApp://externalBrowser///" + $url_base64;
} else {
window.open($url);
}
728x90