1

AS3 のアプリケーションで、iPhone と Android 電話帳のすべての連絡先を取得したいと考えています。as3でこれを行うにはどうすればよいですか?

-前もって感謝します

4

2 に答える 2

2

Native Extension を使用する必要があります。

これをチェックしてください:

https://github.com/memeller/ContactEditor

于 2012-04-07T16:03:49.830 に答える
0

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;

}

これを実装すると、ラベルに名前と電話番号が表示されます.... :)

于 2012-04-07T10:09:08.880 に答える