하이브리드 앱으로 자바스크립트로 웹뷰를 코딩해서 앱을 만드는데
//<![CDATA[
// // 사용할 앱의 JavaScript 키를 설정해 주세요.
Kakao.init('YOUR APP KEY');
// // 카카오톡 링크 버튼을 생성합니다. 처음 한번만 호출하면 됩니다.
Kakao.Link.createTalkLinkButton({
container: '#kakao-link-btn',
label: '카카오링크 샘플에 오신 것을 환영합니다.',
image: {
src: 'http://dn.api1.kage.kakao.co.kr/14/dn/btqaWmFftyx/tBbQPH764Maw2R6IBhXd6K/o.jpg',
width: '300',
height: '200'
},
webButton: {
text: '카카오 디벨로퍼스',
url: 'https://dev.kakao.com/docs/js' // 앱 설정의 웹 플랫폼에 등록한 도메인의 URL이어야 합니다.
}
});
//]]>
이 코드를 사용하고 있습니다.
문제는 기본 제공 웹브라우저나 네이버앱으로 해당 페이지에 가서
버튼을 클릭하면 잘 작동하는데
인앱에서 이버튼을 누르면
웹페이지를 사용할 수 없음
다음 이유로 intent:kakaolink://send?
의 웹페이지를 로드할 수 없습니다.
net::ERR_UNKNOWN_URL_SCHEME
이런 문구가 뜹니다.
검색을 해보니
@Override
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 {
getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(customUrl)));
} catch (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);
getContext().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(GOOGLE_PLAY_STORE_PREFIX + packageName)));
}
return true;
}
} else {
return false;
}
}
}
이 코드를 쓰라고하는데 전 자바스크립트를 사용해서.. 뭘어떻게 해야할지 모르겠습니다.
제가 바보인가요??...