web-dev-qa-db-ja.com

DrupalGapでPhoneGapから電話連絡先にアクセスする方法

DrupalGapとP​​honeGapは本当に初めてです。 DrupalGapで電話連絡先にアクセスするにはどうすればよいですか?アプリケーションに携帯電話番号やその他の連絡先の詳細を記載したい。次に、いくつかの連絡先を選択し、Drupalデータベースに保存します。

私が従った手順:

  1. インストールされたPhoneGap
  2. 作成されたPhoneGapプロジェクト
  3. プロジェクトにインストールされた連絡先プルギン
  4. DrupalGapをプロジェクトのwwwフォルダーにコピーしました
  5. 必要な設定変更を行いました
  6. ラップトップのPhoneGapから連絡先にアクセスするカスタムモジュールを作成しました

次のように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
San

これが私が取るアプローチです:

1- カスタムDrupalGapモジュールをビルドする

2-モジュールにhook_install()を実装します。

/**
 * Implements hook_install().
 */
function my_module_install() {
  sync_contacts_get_contacts();
}

3- カスタムサービスリソースエンドポイントの作成

4-onSuccess関数では、 contactsJSONデータをDrupalリソース

データの保存方法(および方法)Drupalはあなた次第です your custom Drupal module(s)

0