본문으로 건너뛰기

canLaunchApp

Description

URL 스킴으로 외부 앱을 실행할 수 있는지 여부를 콜백으로 전달합니다.

결과는 비동기로 반환되며, callback 함수의 첫 번째 인자에 true(실행 가능) 또는 false(불가능)가 전달됩니다. URL 파싱에 실패하거나 예외가 발생한 경우에도 false 를 전달합니다.

Parameters

파라미터타입설명
urlSchemeString확인할 URL 또는 URL 스킴 (예: "kakaotalk://", "mailto:", "https://...")
callbackJSFunction결과를 받을 콜백 함수. 인자로 bool 값 하나를 받음

Returns

void (결과는 callback 으로 전달)

Notes

  • 결과는 비동기입니다. await 없이 콜백 패턴으로 사용합니다.
  • 해당 앱이 기기에 설치되어 있지 않으면 false 를 반환합니다.
  • Android 에서 특정 URL 스킴을 쿼리하려면 AndroidManifest.xml<queries> 항목이 등록되어 있어야 합니다.
  • iOS 에서는 Info.plistLSApplicationQueriesSchemes 에 스킴이 등록되어 있어야 합니다.
  • URL 파싱 오류 또는 예외 발생 시 항상 false 를 전달합니다.

Example

// 카카오톡 설치 여부 확인 후 분기
$app.canLaunchApp("kakaotalk://", function(ok) {
if (ok) {
$app.openUrl("kakaotalk://");
} else {
$vm.showToastMessage("error", "카카오톡이 설치되어 있지 않습니다.", 3000);
}
});

// 이메일 앱 확인
$app.canLaunchApp("mailto:", function(ok) {
$log.i("이메일 앱 사용 가능:", ok);
});
  • $app.openUrl(urlScheme) — URL 스킴으로 외부 앱 실행
  • $app.openExternalBrowser(url) — 외부 브라우저로 URL 열기