cordova-plugin-dialogs

Android Testsuite Chrome Testsuite iOS Testsuite Lint Test

このプラグインは、グローバルな navigator.notification オブジェクトを介して、いくつかのネイティブダイアログ UI 要素へのアクセスを提供します。

オブジェクトはグローバルスコープの navigator にアタッチされていますが、deviceready イベントの後まで利用できません。

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
    console.log(navigator.notification);
}

インストール

cordova plugin add cordova-plugin-dialogs

メソッド

  • navigator.notification.alert
  • navigator.notification.confirm
  • navigator.notification.prompt
  • navigator.notification.beep
  • navigator.notification.dismissPrevious
  • navigator.notification.dismissAll

navigator.notification.alert

カスタムアラートまたはダイアログボックスを表示します。ほとんどの Cordova 実装では、この機能にネイティブダイアログボックスを使用しますが、一部のプラットフォームではブラウザの alert 関数を使用します。これは通常、カスタマイズ性が低くなります。

navigator.notification.alert(message, alertCallback, [title], [buttonName])
  • message: ダイアログメッセージ。(文字列)

  • alertCallback: アラートダイアログが閉じられたときに呼び出すコールバック。(関数)

  • title: ダイアログタイトル。(文字列) (オプション、デフォルトは Alert)

  • buttonName: ボタン名。(文字列) (オプション、デフォルトは OK)

function alertDismissed() {
    // do something
}

navigator.notification.alert(
    'You are the winner!',  // message
    alertDismissed,         // callback
    'Game Over',            // title
    'Done'                  // buttonName
);

サポートされるプラットフォーム

  • Android
  • ブラウザ
  • iOS
  • Windows

navigator.notification.confirm

カスタマイズ可能な確認ダイアログボックスを表示します。

navigator.notification.confirm(message, confirmCallback, [title], [buttonLabels])
  • message: ダイアログメッセージ。(文字列)

  • confirmCallback: 押されたボタンのインデックス(1、2、または 3)または、ボタンを押さずにダイアログが閉じられた場合(0)で呼び出すコールバック。(関数)

  • title: ダイアログタイトル。(文字列) (オプション、デフォルトは Confirm)

  • buttonLabels: ボタンラベルを指定する文字列の配列。(配列) (オプション、デフォルトは [OK,Cancel])

confirmCallback

confirmCallback は、ユーザーが確認ダイアログボックスのボタンのいずれかを押したときに実行されます。

コールバックは引数 buttonIndex (数値) を受け取ります。これは、押されたボタンのインデックスです。インデックスは 1 から始まることに注意してください。したがって、値は 123 などです。

function onConfirm(buttonIndex) {
    alert('You selected button ' + buttonIndex);
}

navigator.notification.confirm(
    'You are the winner!', // message
     onConfirm,            // callback to invoke with index of button pressed
    'Game Over',           // title
    ['Restart','Exit']     // buttonLabels
);

サポートされるプラットフォーム

  • Android
  • ブラウザ
  • iOS
  • Windows

Android の特異な動作

  • Android は最大 3 つのボタンをサポートし、それ以上のボタンは無視します。

  • Android のダイアログタイトルは 2 行を超えるコンテンツを表示できず、これを超えると無視されます。

Windows の特異な動作

  • Windows 8/8.1 では、MessageDialog インスタンスに 3 つ以上のボタンを追加することはできません。

  • Windows Phone 8.1 では、3 つ以上のボタンを持つダイアログを表示することはできません。

navigator.notification.prompt

ブラウザの prompt 関数よりもカスタマイズ性の高いネイティブダイアログボックスを表示します。

navigator.notification.prompt(message, promptCallback, [title], [buttonLabels], [defaultText])
  • message: ダイアログメッセージ。(文字列)

  • promptCallback: 押されたボタンのインデックス(1、2、または 3)または、ボタンを押さずにダイアログが閉じられた場合(0)で呼び出すコールバック。(関数)

  • title: ダイアログタイトル (文字列) (オプション、デフォルトは Prompt)

  • buttonLabels: ボタンラベルを指定する文字列の配列 (配列) (オプション、デフォルトは ["OK","Cancel"])

  • defaultText: デフォルトのテキストボックス入力値 (文字列) (オプション、デフォルト: 空の文字列)

promptCallback

promptCallback は、ユーザーがプロンプトダイアログボックスのボタンのいずれかを押したときに実行されます。コールバックに渡される results オブジェクトには、次のプロパティが含まれています。

  • buttonIndex: 押されたボタンのインデックス。(数値) インデックスは 1 から始まることに注意してください。したがって、値は 123 などです。

  • input1: プロンプトダイアログボックスに入力されたテキスト。(文字列)

function onPrompt(results) {
    alert("You selected button number " + results.buttonIndex + " and entered " + results.input1);
}

navigator.notification.prompt(
    'Please enter your name',  // message
    onPrompt,                  // callback to invoke
    'Registration',            // title
    ['Ok','Exit'],             // buttonLabels
    'Jane Doe'                 // defaultText
);

サポートされるプラットフォーム

  • Android
  • ブラウザ
  • iOS
  • Windows

Android の特異な動作

  • Android は最大 3 つのボタンをサポートし、それ以上のボタンは無視します。

  • Android 3.0 以降では、Holo テーマを使用するデバイスの場合、ボタンは逆順に表示されます。

Windows の特異な動作

  • Windows では、ネイティブ API がないため、プロンプトダイアログは HTML ベースです。

navigator.notification.beep

デバイスがビープ音を鳴らします。

navigator.notification.beep(times);
  • times: ビープ音を繰り返す回数。(数値)

// Beep twice!
navigator.notification.beep(2);

サポートされるプラットフォーム

  • Android
  • ブラウザ
  • iOS
  • Windows 8

Android の特異な動作

  • Android は、設定/サウンドと表示 パネルで指定されたデフォルトの 通知着信音 を再生します。

navigator.notification.dismissPrevious

以前に開いたダイアログボックスを閉じます。現在ダイアログボックスが開いていない場合は、errorCallback が呼び出されます。

navigator.notification.dismissPrevious([successCallback], [errorCallback])
  • successCallback: 以前に開いたダイアログが閉じられたときに呼び出すコールバック。(関数) (オプション)
  • errorCallback: 以前に開いたダイアログを閉じることができなかった場合に呼び出すコールバック。エラーメッセージが渡されます。(関数) (オプション)

function successCallback() {
    console.log("Successfully dismissed previously opened dialog.");
}

function errorCallback(error) {
    console.log("Failed to dismiss previously opened dialog: " + error);
}

navigator.notification.dismissPrevious(
    successCallback,
    errorCallback
);

サポートされるプラットフォーム

  • Android
  • iOS

navigator.notification.dismissAll

以前に開いたすべてのダイアログボックスを閉じます。現在ダイアログボックスが開いていない場合は、errorCallback が呼び出されます。

navigator.notification.dismissAll([successCallback], [errorCallback])
  • successCallback: 以前に開いたすべてのダイアログが閉じられたときに呼び出すコールバック。(関数) (オプション)
  • errorCallback: 以前に開いたすべてのダイアログを閉じることができなかった場合に呼び出すコールバック。エラーメッセージが渡されます。(関数) (オプション)

function successCallback() {
    console.log("Successfully dismissed all previously opened dialogs.");
}

function errorCallback(error) {
    console.log("Failed to dismiss all previously opened dialogs: " + error);
}

navigator.notification.dismissAll(
    successCallback,
    errorCallback
);

サポートされるプラットフォーム

  • Android
  • iOS