프로그래밍/Android

[안드로이드] WebView에서 카카오톡 플러스친구 Intent 실행법

Lou Park 2018. 9. 23. 11:29

카카오톡 플친 실행 인텐트를 해결하는 방법을 찾아보다가,

아래 블로그에서 해결책을 찾았다.


intent://plusfriend/chat/...


http://apogenes.tistory.com/4



관련 코드는 아래와 같다. 테스트 결과 잘 작동한다!


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
private class MyWebViewClient extends WebViewClient {
 
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        if (url != null && 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();
            }
        } else if (url != null && url.startsWith("market://")) {
            try {
                Intent intent = Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
                if (intent != null) {
                    startActivity(intent);
                }
                return true;
            } catch (URISyntaxException e) {
                e.printStackTrace();
            }
        }
        view.loadUrl(url);
        return false;
    }
}
// 출처: http://apogenes.tistory.com/4 [매일매일 다른 생각]
cs