canLaunchApp
Description
URLスキームで外部アプリを起動できるかどうかをコールバックで渡します。
結果は非同期で返され、callback関数の第1引数にtrue(起動可能)またはfalse(不可)が渡されます。URLの解析に失敗した場合や例外が発生した場合もfalseを渡します。
Parameters
| パラメーター | 型 | 説明 |
|---|---|---|
| urlScheme | String | 確認するURLまたはURLスキーム(例: "kakaotalk://"、"mailto:"、"https://...") |
| callback | JSFunction | 結果を受け取るコールバック関数。引数としてbool値を1つ受け取る |
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を開く