webview 로 intent kakaolink 를 연결해서 오픈채팅방을 실행시키려고합니다…
그런데 자꾸 다운받으라고만 하네요…
뭐가 잘못되었을까요? 롤리팝 입니다.
class CustomWebClient extends WebViewClient {
public static final String KAKAOTALK_PROTOCOL_START = “kakaolink:”;
public static final String GOOGLE_PLAY_STORE_PREFIX = “http://market.android.com/details?id=”;
public boolean shouldOverrideUrlLoading(WebView view, String url) {
if (Uri.parse(url).getScheme().equals("market")) {
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
Activity host = (Activity) view.getContext();
host.startActivity(intent);
return true;
} catch (ActivityNotFoundException e) {
// Google Play app is not installed, you may want to open the app store link
Uri uri = Uri.parse(url);
view.loadUrl("http://play.google.com/store/apps/" + uri.getHost() + "?" + uri.getQuery());
return false;
}
}
else {
if (url.startsWith("intent:") || url.startsWith("kakaolink:")) {
//Intent intent = new Intent(Intent.ACTION_VIEW,Uri.parse(url));
//startActivity(intent);
try {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse(url));
Activity host = (Activity) view.getContext();
host.startActivity(intent);
return true;
// startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(url)));
} catch (ActivityNotFoundException e) {
view.loadUrl(GOOGLE_PLAY_STORE_PREFIX + "com.kakao.talk");
}
return true;
} else {
webView.loadUrl(url);
return true;
}
//return super.shouldOverrideUrlLoading(view, url);
}
}
}