phonegap(Cordova 2.0.0)を使用してAndroidアプリケーションを開発しています。デバイスの連絡先を取得する必要があります。このドキュメントを指定してコードを試しました
http://docs.phonegap.com/en/2.0.0/cordova_contacts_contacts.md.html#連絡先
次のように私のコード
$("#shareoptions3").live('click',function(){
var options = new ContactFindOptions();
options.multiple = true;
var fields = ["displayName","phoneNumbers"];//["displayName", "name","phoneNumbers"];
navigator.contacts.find(fields, onContactSuccess, onContactError, options);
});
function onContactSuccess(contacts) {//alert(contacts.length);
for (var i=0; i<contacts.length; i++) {
// display phone numbers
for (var j=0; j<contacts[i].phoneNumbers.length; j++) {
alert("Type: " + contacts[i].phoneNumbers[j].type + "\n" +
"Value: " + contacts[i].phoneNumbers[j].value + "\n" +
"Preferred: " + contacts[i].phoneNumbers[j].pref);
}
}
};
// onError: Failed to get the contacts
//
function onContactError(contactError) {
console.log('Error in getting contacts!');
}
Logcat で次のようなメッセージが表示されます。
成功コールバックのエラー: Contacts3 = TypeError: file:///android_asset/www/JS/cordova-2.0.0.js:258 で null のプロパティ '長さ' を読み取ることができません
この問題を解決するのを手伝ってください。