phonegapp inappbrowser에서 카카오페이 결제 페이지를 여는데요.
웹에서는 정상작동 하는데 앱에서는 아래와 같이 뜹니다.
다음 이유로 intent://kakaopay/submit?txn_id=T111111111111#Intent;scheme=kakaotalk;package=com.kakao.talk;end의 웹페이지를 로드할 수 없습니다.
net::ERR_UNKNOWN_URL_SCHEME
검색 도중
https://devtalk.kakao.com/t/webview/20210
위의 글을 보게 되어 적용했는데 원하는 결과가 나오질 않네요…
모바일 웹에서는 카카오페이 페이지로 리다이렉션 된 뒤 카카오톡 앱이 실행되는데
앱에서는 카카오페이 페이지로 이동된 뒤 카카오톡 앱이 실행되지 않고 구글 스토어가 실행됩니다.
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (url.startsWith(INTENT_PROTOCOL_START)) {
final int customUrlStartIndex = INTENT_PROTOCOL_START.length();
final int customUrlEndIndex = url.indexOf(INTENT_PROTOCOL_INTENT);
if (customUrlEndIndex < 0) {
return false;
} else {
final String customUrl = url.substring(customUrlStartIndex, customUrlEndIndex);
try {
view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(customUrl)));
} catch (android.content.ActivityNotFoundException e) {
final int packageStartIndex = customUrlEndIndex + INTENT_PROTOCOL_INTENT.length();
final int packageEndIndex = url.indexOf(INTENT_PROTOCOL_END);
final String packageName = url.substring(packageStartIndex, packageEndIndex < 0 ? url.length() : packageEndIndex);
view.getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(GOOGLE_PLAY_STORE_PREFIX + packageName)));
}
return true;
}
} else {
return false;
}
}
코드 적용은 위 처럼 했습니다.
도움 부탁드립니다!!