canLaunchApp
Description
URL 스킴으로 외부 앱을 실행할 수 있는지 여부를 콜백으로 전달합니다.
결과는 비동기로 반환되며, callback 함수의 첫 번째 인자에 true(실행 가능) 또는 false(불가능)가 전달됩니다. URL 파싱에 실패하거나 예외가 발생한 경우에도 false 를 전달합니다.
Parameters
| 파라미터 | 타입 | 설명 |
|---|---|---|
| urlScheme | String | 확인할 URL 또는 URL 스킴 (예: "kakaotalk://", "mailto:", "https://...") |
| callback | JSFunction | 결과를 받을 콜백 함수. 인자로 bool 값 하나를 받음 |
Returns
void (결과는 callback 으로 전달)
Notes
- 결과는 비동기입니다.
await없이 콜백 패턴으로 사용합니다. - 해당 앱이 기기에 설치되어 있지 않으면
false를 반환합니다. - Android 에서 특정 URL 스킴을 쿼리하려면
AndroidManifest.xml에<queries>항목이 등록되어 있어야 합니다. - iOS 에서는
Info.plist의LSApplicationQueriesSchemes에 스킴이 등록되어 있어야 합니다. - 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);
});
Related
$app.openUrl(urlScheme)— URL 스킴으로 외부 앱 실행$app.openExternalBrowser(url)— 외부 브라우저로 URL 열기