잘되던 모바일앱에서 카카오톡만 인던트로 웹뷰에서 실행이 안되고 다운되네요..

 

아무리 보안이 중요하다지만 사용자 편의성을 무시해버리다니

 

보안과 비보안 사이의 경계  아무리 보안이 중요하다고 하더라도 

 

잘돌아가던 프로그램이 갑자기 안되니 미치고 환장 하겠습니다.

 

안드로이드 앱에서  웹뷰로 카카오 톡 링크가 안됨

 

다른분들은 잘되시나요?  카카오톡도 뭔가 바뀐것 같고 .. 구글 크롬에서 웹뷰로 카카오 인던트를 막아버린것 같습니다.

 

 

글쓴이 이성민

profile
<빌립보서 4장 10절-13절> "내가 주 안에서 크게 기뻐함은 너희가 나를 생각하던 것이 이제 다시 싹이 남이니 너희가 또한 이를 위하여 생각은 하였으나 기회가 없었느니라 내가 궁핍하므로 말하는 것이 아니라 어떠한 형편에든지 내가 자족하기를 배웠노니 내가 비천에 처할 줄도 알고 풍부에 처할 줄도 알아 모든 일에 배부르며 배고픔과 풍부와 궁핍에도 일체의 비결을 배웠노라  내게 능력 주시는 자 안에서 내가 모든 것을 할 수 있느니라 "
  • ?
    허걱!!
  • profile

    구글이 막아놓은게 아니라 shouldOverrideUrlLoading메소드에서 intent처리를 잘못할 경우 에러가 납니다.
    shouldOverrideUrlLoading에 아래의 내용을 넣으면 잘 됩니다.

     

    if(url.startsWith("intent://")) {
                    try {
                        Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
                        Intent existPackage = getPackageManager().getLaunchIntentForPackage(intent.getPackage());
                        if (existPackage != null) {
                            startActivity(intent);
                        } else {
                            Intent marketIntent = new Intent(Intent.ACTION_VIEW);
                            marketIntent.setData(Uri.parse("market://details?id="+intent.getPackage()));
                            startActivity(marketIntent);
                        }
                        return true;
                    }catch (Exception e) {
                        e.printStackTrace();
                    }

                }

                if(url.startsWith("intent:storylink:") || url.startsWith("intent:kakaolink:")) {
                    url = url.replaceFirst("intent:","");
                }

                if (url.startsWith("line:")) {
                    boolean Line = isPackageInstalled(context, "jp.naver.line.android");
                    if (Line) {
                        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity(i);
                        return true;
                    } else {
                        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=jp.naver.line.android"));
                        startActivity(i);
                        return true;
                    }

                }

                if (url.startsWith("kakaolink:")) {
                    boolean Kakao = isPackageInstalled(context, "com.kakao.talk");
                    if (Kakao) {
                        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity(i);
                        return true;
                    } else {
                        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.kakao.talk"));
                        startActivity(i);
                        return true;
                    }
                }

                if (url.startsWith("bandapp:")) {
                    boolean band = isPackageInstalled(context, "com.nhn.android.band");
                    if (band) {
                        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity(i);
                        return true;
                    } else {
                        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.nhn.android.band"));
                        startActivity(i);
                        return true;
                    }
                }

                if (url.startsWith("storylink:")) {
                    boolean story = isPackageInstalled(context, "com.kakao.story");
                    if (story) {
                        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                        startActivity(i);
                        return true;
                    } else {
                        Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=com.kakao.story"));
                        startActivity(i);
                        return true;
                    }
                }

                if(url.startsWith("market://")) {

                    Intent i = new Intent(Intent.ACTION_VIEW, Uri.parse(url));
                    startActivity(i);
                    return true;
                }

     

  • profile profile
    오 감사합니다. 단희아빠님