|
5 years ago | |
---|---|---|
.. | ||
README.md | 5 years ago | |
index.md | 5 years ago |
このプラグインは、デバイスの連絡先データベースへのアクセスを提供するグローバル navigator.contacts
オブジェクトを定義します。
オブジェクトは、グローバル スコープの ナビゲーター
に添付、それがないまで deviceready
イベントの後。
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {
console.log(navigator.contacts);
}
警告: 連絡先データの収集と利用を重要なプライバシーの問題を発生させます。 アプリのプライバシー ポリシー アプリが連絡先データを使用する方法と、他の当事者では共有されているかどうかを話し合う必要があります。 人誰と通信する人々 を明らかにするために、連絡先情報が機密と見なされます。 したがって、アプリのプライバシー ポリシーに加えて、強くお勧めデバイスのオペレーティング システムが既にしない場合アプリにアクセスまたは連絡先のデータを使用する前に - 時間のお知らせを提供します。 その通知は、上記の (例えば、[ok] を おかげで 選択肢を提示する) によってユーザーのアクセス許可を取得するだけでなく、同じ情報を提供する必要があります。 いくつかのアプリのマーケットプ レース - 時間の通知を提供して、連絡先データにアクセスする前にユーザーの許可を取得するアプリをする必要がありますに注意してください。 連絡先データは、ユーザーの混乱を避けるのに役立ちますの使用および連絡先データの知覚の誤用を囲む明確でわかりやすいユーザー エクスペリエンス。 詳細については、プライバシーに関するガイドを参照してください。
これはコルドバ 5.0 + (現在安定 v1.0.0) を必要とします。
cordova plugin add cordova-plugin-contacts
コルドバの古いバージョンでも非推奨id (古い v0.2.16) 経由でインストールできます。
cordova plugin add org.apache.cordova.contacts
また、レポの url 経由で直接インストールすることが可能だ (不安定)
cordova plugin add https://github.com/apache/cordova-plugin-contacts.git
マニフェストのドキュメント で説明されているように、www/manifest.webapp を作成します。 関連する権限を追加します。 マニフェストのドキュメント「特権」- に web アプリケーションの種類を変更する必要も。 警告: すべての特権を持つアプリケーション インライン スクリプトを禁止している コンテンツのセキュリティ ポリシー を適用します。 別の方法で、アプリケーションを初期化します。
"type": "privileged",
"permissions": {
"contacts": {
"access": "readwrite",
"description": "Describe why there is a need for such permission"
}
}
Windows 10 前に:すべての連絡先を検索
し、 pickContact
メソッドから返されるアプリケーションが変更できないように読み取り専用であります。 find
メソッド 8.1 の Windows Phone デバイスでのみ使用できます。
Windows 10 以上:連絡先は、保存可能性があります、連絡先アプリ ローカル記憶域に保存されます。 連絡先も削除されます。
Windows 8 の連絡先は、読み取り専用です。 コルドバ API コンタクトを介してされませんクエリ/検索可能で、ユーザーに通知する必要があります連絡先を選択 ‘人’ アプリを開くことが contacts.pickContact への呼び出しとして、ユーザーが連絡先を選択する必要があります。 戻される連絡先は読み取り専用、アプリケーションを変更することはできません。
navigator.contacts.create
メソッドは同期的に、新しい 連絡先
オブジェクトを返します。
このメソッドは、Contact.save
メソッドを呼び出す必要があるデバイスの連絡先データベースに連絡先オブジェクトを保持しません。
var myContact = navigator.contacts.create({"displayName": "Test User"});
デバイスの連絡先データベースを照会して、Contact
オブジェクトの配列を返す navigator.contacts.find
メソッドを非同期的に実行します。 結果として得られるオブジェクトは、contactSuccess パラメーターで指定された contactSuccess
コールバック関数に渡されます。
contactFields パラメーター検索の修飾子として使用するフィールドを指定します。 ゼロ長さ contactFields パラメーターは有効で、ContactError.INVALID_ARGUMENT_ERROR
の結果します。 contactFields 値 "*"
すべての連絡先フィールドが検索されます。
contactFindOptions.filter 文字列の連絡先データベースを照会するときに検索フィルターとして使用できます。 指定した場合、大文字と小文字、部分的な値の一致する contactFields パラメーターで指定されたフィールドごとに適用されます。 一致する 任意 指定のフィールドがある場合は、連絡先が返されます。 バック連絡先プロパティを制御する contactFindOptions.desiredFields パラメーターを使用しますが返される必要があります。
contactFields: 連絡先検索修飾子として使用するフィールド。(DOMString[]) [Required]
contactSuccess: Contact オブジェクトの配列に呼び出される成功コールバック関数は、データベースから返されます。[Required]
contactError: エラー コールバック関数は、エラーが発生したときに呼び出されます。[オプション]
contactFindOptions: navigator.contacts をフィルターするオプションを検索します。[Optional]
キーは次のとおりです。
filter: navigator.contacts の検索に使用する検索文字列。(,)(デフォルト: ""
)
multiple: 複数 navigator.contacts かどうかは、検索操作に返すを決定します。(ブール値)(デフォルト: false
)
Contact
オブジェクトこれらのフィールドの値でのみ機能します。(DOMString[]) [Optional]function onSuccess(contacts) {
alert('Found ' + contacts.length + ' contacts.');
};
function onError(contactError) {
alert('onError!');
};
// find all contacts with 'Bob' in any name field
var options = new ContactFindOptions();
options.filter = "Bob";
options.multiple = true;
options.desiredFields = [navigator.contacts.fieldType.id];
var fields = [navigator.contacts.fieldType.displayName, navigator.contacts.fieldType.name];
navigator.contacts.find(fields, onSuccess, onError, options);
__contactFields__
サポートされていないと無視されます。find
メソッドは、常に名前、電子メール アドレス、または連絡先の電話番号に一致ましょう。navigator.contacts.pickContact
メソッドは単一の連絡先を選択する連絡先ピッカーを起動します。 結果として得られるオブジェクトは、contactSuccess パラメーターで指定された contactSuccess
コールバック関数に渡されます。
contactSuccess: 1 つの連絡先オブジェクトに呼び出される成功コールバック関数。[必須]
contactError: エラー コールバック関数は、エラーが発生したときに呼び出されます。[オプション]
navigator.contacts.pickContact(function(contact){
console.log('The following contact has been selected:' + JSON.stringify(contact));
},function(err){
console.log('Error: ' + err);
});
Contact
オブジェクトは、ユーザーの連絡先を表します。 連絡先の作成、格納、またはデバイスの連絡先データベースから削除することができます。 連絡先も取得できます (個別にまたは一括で) データベースから navigator.contacts.find
メソッドを呼び出すことによって。
注: すべて上記の連絡先フィールドのすべてのデバイス プラットフォームでサポートされます。詳細については各プラットフォームの 互換 セクションを確認してください。
id: グローバルに一意の識別子。(,)
displayName: エンド ・ ユーザーへの表示に適した、この連絡先の名前。(,)
名前: 人の名前のすべてのコンポーネントを格納するオブジェクト。(ContactName)
ニックネーム: 連絡先のアドレスに使用するカジュアルな名前。(,)
電話番号: 連絡先の電話番号の配列。(ContactField[])
メール: 連絡先の電子メール アドレスの配列。(ContactField[])
アドレス: 連絡先のアドレスの配列。(ContactAddress[])
ims: 連絡先の IM アドレスの配列。(ContactField[])
組織: 連絡先の組織の配列。(ContactOrganization[])
誕生日: 連絡先の誕生日。(日)
注: 連絡先についてのメモ。(,)
写真: 連絡先の写真の配列。(ContactField[])
カテゴリ: 取引先担当者に関連付けられているすべてのユーザー定義カテゴリの配列。(ContactField[])
url: 取引先担当者に関連付けられている web ページの配列。(ContactField[])
クローン: 新しいを返します Contact
と呼び出し元のオブジェクトのディープ コピーであるオブジェクトの id
プロパティに設定null
.
削除: デバイスの連絡先データベースから連絡先を削除します、それ以外の場合のためのエラー コールバックを実行する、 ContactError
オブジェクト。
保存: デバイスの連絡先データベースに新しい連絡先を保存または同じidを持つ連絡先が既に存在する場合、既存の連絡先を更新します。
function onSuccess(contact) {
alert("Save Success");
};
function onError(contactError) {
alert("Error = " + contactError.code);
};
// create a new contact object
var contact = navigator.contacts.create();
contact.displayName = "Plumber";
contact.nickname = "Plumber"; // specify both to support all devices
// populate some fields
var name = new ContactName();
name.givenName = "Jane";
name.familyName = "Doe";
contact.name = name;
// save to device
contact.save(onSuccess,onError);
// clone the contact object
var clone = contact.clone();
clone.name.givenName = "John";
console.log("Original contact name = " + contact.name.givenName);
console.log("Cloned contact name = " + clone.name.givenName);
function onSuccess() {
alert("Removal Success");
};
function onError(contactError) {
alert("Error = " + contactError.code);
};
// remove the contact from the device
contact.remove(onSuccess,onError);
null
.カテゴリ: 部分的にサポートされます。フィールド県・タイプを返すnull
ims: サポートされていません。
写真: サポートされていません。
displayName: 返す iOS でサポートされていない null
がない限り、ない ContactName
指定すると、その場合は複合名、ニックネームを返しますまたは ""
、それぞれ。
誕生日: JavaScript として入力する必要があります Date
オブジェクト、同じ方法が返されます。
写真: アプリケーションの一時ディレクトリに格納されているイメージへのファイルの URL を返します。一時ディレクトリの内容は、アプリケーションの終了時に削除されます。
カテゴリ: このプロパティは現在サポートされていません、返すnull
.
displayName: 表示名パラメーターの表示名と異なるために提供値を取得、連絡先を検索するとき、連絡先を作成するとき。
url: 連絡先を作成するときユーザー入力保存でき、1 つ以上の web アドレスが 1 つだけ、連絡先を検索するとき。
電話番号:*県*オプションはサポートされていません。 *型*は、*検索*操作ではサポートされていません。 1 つだけ phoneNumber
は各*タイプ*の許可.
メール:*県*オプションはサポートされていません。家庭や個人的なメールと同じエントリを参照します。各*タイプ*の 1 つだけのエントリが許可されて.
アドレス: 仕事とホーム/パーソナル*タイプ*のみをサポートしています。家庭や個人*型*参照して同じアドレス エントリ。各*タイプ*の 1 つだけのエントリが許可されて.
組織: 1 つだけが許可され、*県*、*タイプ*、および*部門*の属性をサポートしていません。
注: サポートされていないを返すnull
.
ims: サポートされていないを返すnull
.
誕生日: サポートされていないを返すnull
.
カテゴリ: サポートされていないを返すnull
.
remove: メソッドはサポートされていません
写真: アプリケーションの一時ディレクトリに格納されているイメージへのファイルの URL を返します。
誕生日: サポートされていないを返すnull
.
カテゴリ: サポートされていないを返すnull
.
remove: Windows 10 以上メソッドはサポートされてのみ。
ContactAddress
オブジェクトは、連絡先の 1 つのアドレスのプロパティを格納します。 Contact
オブジェクトは、ContactAddress
配列の 1 つ以上のアドレスなどがあります。
県: に設定されている true
場合は、この ContactAddress
ユーザーの推奨値が含まれています。(ブール値)
タイプ: たとえばフィールドこれは*ホーム*の種類を示す文字列。(,)
書式設定: 表示用にフォーマットの完全なアドレス。(,)
番地: 完全な住所。(,)
局所性: 都市または場所。(,)
地域: 状態または地域。(,)
郵便番号: 郵便番号または郵便番号。(,)
国: 国の名前。(,)
// display the address information for all contacts
function onSuccess(contacts) {
for (var i = 0; i < contacts.length; i++) {
for (var j = 0; j < contacts[i].addresses.length; j++) {
alert("Pref: " + contacts[i].addresses[j].pref + "\n" +
"Type: " + contacts[i].addresses[j].type + "\n" +
"Formatted: " + contacts[i].addresses[j].formatted + "\n" +
"Street Address: " + contacts[i].addresses[j].streetAddress + "\n" +
"Locality: " + contacts[i].addresses[j].locality + "\n" +
"Region: " + contacts[i].addresses[j].region + "\n" +
"Postal Code: " + contacts[i].addresses[j].postalCode + "\n" +
"Country: " + contacts[i].addresses[j].country);
}
}
};
function onError(contactError) {
alert('onError!');
};
// find all contacts
var options = new ContactFindOptions();
options.filter = "";
var filter = ["displayName", "addresses"];
navigator.contacts.find(filter, onSuccess, onError, options);
false
2.X の Android デバイスで。県: 戻る、BlackBerry デバイスでサポートされていませんfalse
.
種類: 部分的にサポートされます。連絡先ごとの 1 つだけ各*仕事*と*家庭*の種類のアドレスを格納できます。
フォーマット: 部分的にサポートされます。すべての BlackBerry アドレス フィールドの連結を返します。
番地: サポートされています。ブラックベリーの住所 1 住所 2の連結アドレス フィールドを返します。
局所性: サポートされています。ブラックベリー市アドレス フィールドに格納されます。
地域: サポートされています。ブラックベリー stateProvinceアドレス フィールドに格納されます。
郵便番号: サポートされています。ブラックベリー zipPostalアドレス フィールドに格納されます。
国: サポートされています。
県: 戻る iOS デバイスでサポートされていませんfalse
.
フォーマット: 現在サポートされていません。
ContactError
オブジェクトにエラーが発生したときに contactError
コールバック関数を通じてユーザーに返されます。
ContactError.UNKNOWN_ERROR
(code 0)ContactError.INVALID_ARGUMENT_ERROR
(code 1)ContactError.TIMEOUT_ERROR
(code 2)ContactError.PENDING_OPERATION_ERROR
(code 3)ContactError.IO_ERROR
(code 4)ContactError.NOT_SUPPORTED_ERROR
(code 5)ContactError.PERMISSION_DENIED_ERROR
(code 20)ContactField
オブジェクトは連絡先フィールドを総称を表す再利用可能なコンポーネントです。 各 ContactField
オブジェクトには 値
型
、および 県
プロパティが含まれています。 連絡先
オブジェクトは、ContactField
配列に、電話番号、メール アドレスなどのいくつかのプロパティを格納します。
ほとんどの場合、ContactField
オブジェクトの type 属性のあらかじめ決められた値はありません。 たとえば、電話番号が *ホーム*、*仕事*、*モバイル*、*iPhone*、または特定のデバイス プラットフォームの連絡先データベースでサポートされている他の値の 型 の値を指定できます。 ただし、連絡先
の写真] のフィールド の種類] フィールドを示します返される画像の形式: url 値 属性 値 を base64 でエンコードされたイメージの文字列が含まれる場合に写真イメージまたは base64 に URL が含まれる場合。
タイプ: たとえばフィールドこれは*ホーム*の種類を示す文字列。(,)
値: 電話番号や電子メール アドレスなど、フィールドの値。(,)
県: に設定されている true
場合は、この ContactField
ユーザーの推奨値が含まれています。(ブール値)
// create a new contact
var contact = navigator.contacts.create();
// store contact phone numbers in ContactField[]
var phoneNumbers = [];
phoneNumbers[0] = new ContactField('work', '212-555-1234', false);
phoneNumbers[1] = new ContactField('mobile', '917-555-5432', true); // preferred number
phoneNumbers[2] = new ContactField('home', '203-555-7890', false);
contact.phoneNumbers = phoneNumbers;
// save the contact
contact.save();
false
.種類: 部分的にサポートされます。電話番号を使用します。
値: サポートされています。
県: サポートされていないを返すfalse
.
false
.false
.false
.異なる種類 Contact
オブジェクトの名前についての情報にはが含まれています。
フォーマット: 連絡先の完全な名前。(,)
familyName: 連絡先の姓。(,)
givenName: 連絡先の名前。(,)
ミドル ネーム: 連絡先のミドル ネーム。(,)
honorificPrefix: 連絡先のプレフィックス (例*氏*または博士) (,)
honorificSuffix: 連絡先のサフィックス (*弁護士*の例)。(,)
function onSuccess(contacts) {
for (var i = 0; i < contacts.length; i++) {
alert("Formatted: " + contacts[i].name.formatted + "\n" +
"Family Name: " + contacts[i].name.familyName + "\n" +
"Given Name: " + contacts[i].name.givenName + "\n" +
"Middle Name: " + contacts[i].name.middleName + "\n" +
"Suffix: " + contacts[i].name.honorificSuffix + "\n" +
"Prefix: " + contacts[i].name.honorificSuffix);
}
};
function onError(contactError) {
alert('onError!');
};
var options = new ContactFindOptions();
options.filter = "";
filter = ["displayName", "name"];
navigator.contacts.find(filter, onSuccess, onError, options);
honorificPrefix
、 givenName
、 middleName
、 familyName
とhonorificSuffix
.フォーマット: 部分的にサポートされます。ブラックベリー firstNameとlastNameフィールドの連結を返します。
familyName: サポートされています。ブラックベリー [氏名]フィールドに格納されます。
givenName: サポートされています。ブラックベリーのfirstNameフィールドに格納されます。
ミドル ネーム: サポートされていないを返すnull
.
honorificPrefix: サポートされていないを返すnull
.
honorificSuffix: サポートされていないを返すnull
.
honorificPrefix
、 givenName
、 middleName
、 familyName
とhonorificSuffix
.フォーマット: これは、プロパティの名前し、同じです displayName
とnickname
familyName: サポートされていません。
givenName: サポートされていません。
ミドル ネーム: サポートされていません。
honorificPrefix: サポートされていません。
honorificSuffix: サポートされていません。
displayName
ContactOrganization
オブジェクトは、連絡先の組織のプロパティを格納します。連絡先
オブジェクトは、配列の 1 つ以上の ContactOrganization
オブジェクトを格納します。
県: に設定されている true
場合は、この ContactOrganization
ユーザーの推奨値が含まれています。(ブール値)
タイプ: たとえばフィールドこれは*ホーム*の種類を示す文字列。_(DOMString)
名前: 組織の名前。(,)
部門: 契約に勤めている部門。(,)
タイトル: 組織の連絡先のタイトル。(,)
function onSuccess(contacts) {
for (var i = 0; i < contacts.length; i++) {
for (var j = 0; j < contacts[i].organizations.length; j++) {
alert("Pref: " + contacts[i].organizations[j].pref + "\n" +
"Type: " + contacts[i].organizations[j].type + "\n" +
"Name: " + contacts[i].organizations[j].name + "\n" +
"Department: " + contacts[i].organizations[j].department + "\n" +
"Title: " + contacts[i].organizations[j].title);
}
}
};
function onError(contactError) {
alert('onError!');
};
var options = new ContactFindOptions();
options.filter = "";
filter = ["displayName", "organizations"];
navigator.contacts.find(filter, onSuccess, onError, options);
false
.県: 戻る、BlackBerry デバイスでサポートされていませんfalse
.
タイプ: 戻る、BlackBerry デバイスでサポートされていませんnull
.
名前: 部分的にサポートされます。最初の組織名は、会社のブラックベリーのフィールドに格納されます。
部門: サポートされていないを返すnull
.
タイトル: 部分的にサポートされます。組織の最初のタイトルはブラックベリー氏名フィールドに格納されます。
県: サポートされていません。
タイプ: サポートされていません。
部門: サポートされていません。
フィールドの名前と組織、氏名に格納されたタイトル.
県: 戻る iOS デバイスでサポートされていませんfalse
.
タイプ: 戻る iOS デバイスでサポートされていませんnull
.
名前: 部分的にサポートされます。最初の組織名は、iOS kABPersonOrganizationPropertyフィールドに格納されます。
部門: 部分的にサポートされます。最初の部署名は iOS kABPersonDepartmentPropertyフィールドに格納されます。
タイトル: 部分的にサポートされます。最初のタイトルは、iOS kABPersonJobTitlePropertyフィールドに格納されます。
県: サポートされていないを返すfalse
.
タイプ: サポートされていないを返すnull
.