2

phonegap(1.9) API で連絡先を保存する際に問題が発生しました。

Androidエミュレーターで連絡先を保存しようとすると、すべてうまくいき、連絡先が保存され、連絡先から見ることができます。

私の問題は、デバイスを使用するときに連絡先を保存することです。ボタンを押して連絡先を保存すると、onSuccessFunction が起動され、OK メッセージが表示されますが、連絡先帳にアクセスすると、この連絡先が見つかりません。

奇妙なことに、保存したい番号をダイヤルすると、連絡先の名前が表示されます。

2 つの異なるデバイス (LG Optimus one、android 2.2.1 および Samsug Galaxy 2、android 2.3.5) に展開しようとしましたが、結果は同じです。

この問題を解決するのを手伝ってください...

function addContact(emp){

    // create a new contact object
    var contact = navigator.contacts.create();
    //contact.displayName = "Stam";       

    // save First and Last name
    var name = new ContactName();
    name.givenName = emp.firstName;
    name.familyName = emp.lastName;
    contact.name = name;

    // save cell-phone and office-phone
    var phoneNumbers = [];
    phoneNumbers[0] = new ContactField('work', emp.officePhone, false);
    phoneNumbers[1] = new ContactField('mobile', emp.cellPhone, true);
    contact.phoneNumbers = phoneNumbers;

    var emails = [];
    emails[0] = new ContactField('email', emp.email, false); 
    contact.emails = emails;

    var organizations = [];
    organizations[0] = new ContactField('department', emp.department, false);
    organizations[1] = new ContactField('title', emp.title, false);
    contact.organizations = organizations;

        // save contact
        contact.save(onSaveSuccess,onSaveError);
}

// onSaveSuccess: Get a snapshot of the current contacts
function onSaveSuccess(contact) {
    alert("Save Success");
}

// onSaveError: Failed to get the contacts
//
function onSaveError(contactError) {
    alert("Error = " + contactError.code);

}
4

1 に答える 1

3

連絡先アプリに移動します。[メニュー] ボタンをクリックし、[表示オプション] を選択します。次に、追加したアカウントを選択し、チェックボックスをクリックしてすべての連絡先を表示する必要があります。通常、すべてのアカウントの連絡先を表示するように設定します。その後、[完了] ボタンをクリックすると、連絡先アプリケーションに戻り、保存した連絡先が表示されます。

于 2012-08-10T20:31:29.427 に答える