Skip to content

Commit 9dfe6c7

Browse files
kwangcheol5zbJinu
authored andcommitted
intent:// 실행되도록 수정
1 parent 59540f5 commit 9dfe6c7

File tree

1 file changed

+13
-21
lines changed

1 file changed

+13
-21
lines changed

src/android/InAppBrowser.java

Lines changed: 13 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1090,6 +1090,11 @@ public void postMessage(String data) {
10901090

10911091
if (overrideUserAgent != null) {
10921092
settings.setUserAgentString(overrideUserAgent);
1093+
}else{
1094+
//onelink에서 customscheme가 아닌 intent://사용하기 위해서 UA에서 wv를 제거
1095+
String ua = settings.getUserAgentString();
1096+
String newUA = ua.replace("; wv","");
1097+
settings.setUserAgentString(newUA);
10931098
}
10941099
if (appendUserAgent != null) {
10951100
settings.setUserAgentString(settings.getUserAgentString() + appendUserAgent);
@@ -1412,28 +1417,15 @@ else if (url.startsWith(HOGANGNONO_SCHEME)) {
14121417
}
14131418
// Supports Intent:// scheme. It usually used on above 4 version.
14141419
else if (url.startsWith(INTENT_PROTOCOL_START)) {
1415-
final int customUrlStartIndex = INTENT_PROTOCOL_START.length();
1416-
final int customUrlEndIndex = url.indexOf(INTENT_PROTOCOL_INTENT);
1417-
1418-
if (customUrlEndIndex < 0) {
1419-
return false;
1420-
} else {
1421-
final String customUrl = url.substring(customUrlStartIndex, customUrlEndIndex);
1422-
1423-
try {
1424-
cordova.getActivity().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(customUrl)));
1425-
} catch (ActivityNotFoundException e) {
1426-
if (url.contains("kakaolink://send")) {
1427-
cordova.getActivity().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(GOOGLE_PLAY_STORE_PREFIX + "com.kakao.talk")));
1428-
return true;
1429-
}
1430-
final int packageStartIndex = customUrlEndIndex + INTENT_PROTOCOL_INTENT.length();
1431-
final int packageEndIndex = url.indexOf(INTENT_PROTOCOL_END);
1432-
final String packageName = url.substring(packageStartIndex, packageEndIndex < 0 ? url.length() : packageEndIndex).replace("package=", "");
1433-
cordova.getActivity().startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse(GOOGLE_PLAY_STORE_PREFIX + packageName)));
1434-
}
1435-
return true;
1420+
// intent:// 실행코드 변경
1421+
try {
1422+
Intent intent =Intent.parseUri(url, Intent.URI_INTENT_SCHEME);
1423+
Uri uri = Uri.parse(intent.getDataString());
1424+
cordova.getActivity().startActivity(new Intent(Intent.ACTION_VIEW, uri));
1425+
} catch (URISyntaxException e) {
1426+
LOG.e(LOG_TAG, e.getLocalizedMessage());
14361427
}
1428+
return true;
14371429
}
14381430
// Test for whitelisted custom scheme names like mycoolapp:// or twitteroauthresponse:// (Twitter Oauth Response)
14391431
else if (!url.startsWith("http:") && !url.startsWith("https:") && url.matches("^[A-Za-z0-9+.-]*://.*?$")) {

0 commit comments

Comments
 (0)