AS3 のアプリケーションで、iPhone と Android 電話帳のすべての連絡先を取得したいと考えています。as3でこれを行うにはどうすればよいですか?
-前もって感謝します
AS3 のアプリケーションで、iPhone と Android 電話帳のすべての連絡先を取得したいと考えています。as3でこれを行うにはどうすればよいですか?
-前もって感謝します
iPhone の場合、最初に Addressbook と AddressbookUI フレームワークを追加する必要があります。
次に、連絡先を取得するには、次のメソッドを実装する必要があります...
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
それから、、- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person
そしてついに- (void)peoplePickerNavigationControllerDidCancel:(ABPeoplePickerNavigationController *)peoplePicker
次に、 2番目のメソッドに設定return NO
し、1つのメソッドを呼び出します....のように
[self displayContact:person];
[self dismissModalViewControllerAnimated:YES];
return NO;
サード ビューで、これを設定します。[self dismissModalViewControllerAnimated:YES];
さて、その方法は…
-(void)displayContact:(ABRecordRef)person
{
name = (__bridge_transfer NSString *)ABRecordCopyValue(person, kABPersonFirstNameProperty);
lblname.text = name;
ABMultiValueRef phNumbers = ABRecordCopyValue(person, kABPersonPhoneProperty);
if(ABMultiValueGetCount(phNumbers) > 0)
{
//NSLog(@"Count is:%ld",ABMultiValueGetCount(phNumbers));
phone = (__bridge_transfer NSString *)ABMultiValueCopyValueAtIndex(phNumbers, 0);
btnsms.hidden = NO;
btnedit.hidden = NO;
}
else
{
phone = @"[NONE]";
}
lblphno.text = phone;
}
これを実装すると、ラベルに名前と電話番号が表示されます.... :)