안드로이드 4.4 웹뷰 사용시 카카오링크가 전송이 되지 않습니다

처음 개발할때는 정상적으로 자바스크립트로 카카오톡 링크가 됬었는데 몇일전부터
intent:kakaolinke://send 하면서 웹페이지를 표시할수 없다고 뜨네요

G-pro2,
4.4

개발자 사이트의 링크 데모들이 모두 같은 현상입니다.

webView에서 자바스크립트 호출을 하였습니다.

좋아요 3
     private void loadkakao(String url) {
       try {
        		Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
            	intent.addCategory(Intent.CATEGORY_BROWSABLE);
            	intent.putExtra(Browser.EXTRA_APPLICATION_ID,getPackageName());
            	startActivity(intent);
        	} catch (ActivityNotFoundException e) {
        		  Intent intent = new Intent(Intent.ACTION_VIEW);
        	  intent.setData(Uri.parse("market://details?id=" + "com.kakao.talk"));
        	  startActivity(intent);
          Log.d(TAG, "카카오톡이 설치되어있지 않음 : " + e.toString());
        	} catch (Exception e) {
        		  Log.d(TAG, "기타에러 : " + e.toString());
        	}
    }

자꾸 카카오톡이 설치가 안되어있다고 그러네요 ㅜㅜ

안녕하세요, 갤럭시s3 에서 에러가 나고 있습니다 글과는 오류 상황이 약간 다른 것 같아 새로운 토픽으로 이동하였습니다.

안드로이드 4.4 SDK부터 웹뷰가 Chromium기반으로 변경되면서, User-Agent에는 Chrome이 포함되지만 Intent를 지원하지 않아서 발생하는 문제입니다.

아래와 같이 직접 Intent를 핸들링 하실 수는 있습니다.
(웹뷰의 경우 커스톰하게 변경할 수 있는 요소들이 있어서 공식 지원 대상에 포함되지는 않음을 알려드립니다.)

     private class MyWebViewClient extends WebViewClient {
        public static final String INTENT_PROTOCOL_START = "intent:";
        public static final String INTENT_PROTOCOL_INTENT = "#Intent;";
        public static final String INTENT_PROTOCOL_END = ";end;";
        public static final String GOOGLE_PLAY_STORE_PREFIX = "market://details?id=";

        @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;
            }
        }
    }
좋아요 3
하이브리드앱과 카카오링크
안드로이드 웹뷰에서 ..카카오링크 하는방법이 ?
하이브리드앱에서 카카오링크, 카카오스토리 글등록이 킷켓 버전부터 안되네요
안드로이드 하위 버전(4.4.2이하) 하이브리드앱에서 웹뷰로 카카오링크 연결은 어떻게 하나요?
[카카오링크] 폰갭 플러그인 지원 계획은 없나요?
하이브리드앱 webview 에서 카카오링크
카카오톡링크 웹앱 실행관련
Cordova 프로젝트 안드로이드 4.4
하이브리드앱 (안드로이드) 에서 카카오 링크
Javascript 카카오링크 보내기 에러
카카오톡링크 웹앱 실행관련
웹뷰 로그인 문의드립니다
카카오 링크에서 카카오톡 미 호출 문의
카카오스토리 앱 공유 문제가 있습니다
워드프레스 홈페이지를 웹뷰작업을 하였는데 카카오톡공유하기를누르면 intent:kakaolink:// 발생합니다
카카오톡의 링크 보내기 카카오톡 스토리의 공유 버튼은 javascript을 이용해서 어플 webview에서 제대로 작동하게 하고 싶은데 이건 가능한가요?
특정 상황에서 네이버 블로그 > 카카오톡 공유하기가 안됩니다
PhoneGap / Cordova 에서 카카오링크를 이용하려면 어떻게 해야 하나요?
[카카오톡 링크, 안드로이드 인앱브라우저] 웹에서 카카오톡 링크선택시 안드로이드 WebView의 shouldOverrideUrlLoading API가 호출되지 않습니다
메일에서 카카오링크 버튼구현 가능한가요?
카카오내비: 네트워크 오류가 발생하였습니다
카카오싱크 관련 웹뷰 띄울 시 ERR_UNKNOWN_URL_SCHEME webview 오류 문의 드립니다
카카오링크-자바스크립트 오류 문의

우왕… 해결되었습니다. 정말 감사합니다.

좋아요 3

저도 해결이 되었어요 감사합니다~

좋아요 2

이 코드를 적용해서 확인해보았는요.
카카오 앱이 깔려있으면 정상동작하는데, 앱이 없으면 마켓 설치로 이동해야되잖아요?
그런데 이동을 안하네요…
확인해보니까 final String packageName = url.substring(packageStartIndex, packageEndIndex < 0 ? url.length() : packageEndIndex); 여기 packageName에 package=com.kakao.talk 이 들어가있네요 ㅎㅎ
저처럼 삽질하지마시고 안되시는분들은 package= 는 빼고 적용하시길~

좋아요 3

지원 여부를 떠나 intent:kakaolink:// 라는 형식 자체에 대한 고민이 필요하지 않을까 싶습니다.

좋아요 2

형식이 지금
intent://join?l=sy6qczo&r=ew%3ahttp%3a%2f%2fxn--ou6bo7j.net%2f#intent;scheme=kakaoopen;package=com.kakao.talk;end
게 바뀌는 바람에 또 글짜조합했네요…

좋아요 1