我正在使用人员选择器,因此用户可以从他们的联系人中选择要在应用中使用的电话号码。
当用户点击该号码时,手机应用程序会打开,并且会调用该号码...
有没有办法阻止这个?
答案 0 :(得分:2)
看看shouldPerformDefaultActionForPerson:
- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)aPerson
property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifierForValue {
if(property == kABPersonPhoneProperty) {
//save the number
return NO;
}
return YES;
}
- 编辑 -
以上方法适用于ABPersonViewController,我误认为是ABPeoplePicker。 ABPeoplePicker的逻辑与上面相同,只是您将使用此委托回调:
- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
答案 1 :(得分:0)
我只是忘了在shouldContinueAfterSelectingPerson:方法中返回NO,我不知道你在哪里获得了shouldPerformDecaultActionForPerson:from,它不是委托方法之一