DrupalGapとPhoneGapは本当に初めてです。 DrupalGapで電話連絡先にアクセスするにはどうすればよいですか?アプリケーションに携帯電話番号やその他の連絡先の詳細を記載したい。次に、いくつかの連絡先を選択し、Drupalデータベースに保存します。
私が従った手順:
次のようにPhoneGapの連絡先にアクセスするためのコードスニペットを見つけました。
function sync_contacts_get_contacts() {
// specify contact search criteria
var options = new ContactFindOptions();
options.filter = ""; // empty search string returns all contacts
options.multiple = true; // return multiple results
filter = ["displayName"]; // return contact.displayName field
// find contacts
navigator.contacts.find(filter, onSuccess, onError, options);
}
function onSuccess(contacts) {
for (var i=0; i<contacts.length; i++) {
if (contacts[i].displayName) { // many contacts don't have displayName
alert(contacts[i].displayName);
}
}
};
// onError: Failed to get the contacts
//
function onError(contactError) {
alert('onError!');
}
作成してDrualデータベースに保存したDrupalGapモジュールでこれにアクセスするにはどうすればよいですか?
解決:
その後の調査で、私は誤解の1つに気づきました。連絡先、カメラなどはデバイスでのみ機能します。つまり、「navigator.contacts」はWebブラウザーでテストできません。 .apkファイルをビルドしてデバイスにインストールし、テストする必要があります。
コードを取得する連絡先を記述する代わりに、次の場所からPhoneGapプラグインを使用できます: https://github.com/dbaq/cordova-plugin-contacts-phone-numbers 。
カスタムサービスを使用して、連絡先をDrupalデータベースに保存しました。リンク: http://docs.drupalgap.org/7/Services/Create_a_Custom_Service
.apkファイルを作成するには、次のURLに従う必要があります。 http://docs.drupalgap.org/7/Compiling_a_Mobile_Application/Preparing_PhoneGap/Installing_PhoneGap/index
これが私が取るアプローチです:
2-モジュールにhook_install()
を実装します。
/**
* Implements hook_install().
*/
function my_module_install() {
sync_contacts_get_contacts();
}
4-onSuccess
関数では、 contactsJSONデータをDrupalリソース 。
データの保存方法(および方法)Drupalはあなた次第です your custom Drupal module(s) 。