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
'Android Studio > java' 카테고리의 다른 글
18. [안드로이드/java] 구글 애드몹(AdMob) 배너광고 크기 조정하기 (0) | 2021.10.15 |
---|---|
17. [안드로이드/java] 구글 애드몹(AdMob) 배너광고 넣기 (0) | 2021.10.15 |
15. [안드로이드/java] FCM Push 알림 클릭 안되는 문제 (0) | 2021.10.05 |
14. [안드로이드/java] FCM Push 알림 (포그라운드, 백그라운드 처리) (0) | 2021.10.01 |
11. [안드로이드/java] 타이틀바(액션바), 상태바 없애기 (0) | 2021.09.29 |