ABPeoplePicker 呼叫所选号码

发布于 2024-11-11 17:48:25 字数 109 浏览 3 评论 0原文

我正在使用人员选择器,以便用户可以从联系人中选择电话号码以在应用程序中使用。

当用户单击该号码时,电话应用程序将打开并呼叫该号码......

有什么方法可以阻止这种情况吗?

I'm using the people picker so the user can choose a phone number from their contacts to use in the app.

When the user clicks on the number, the phone app opens and that number is called...

Is there any way to stop this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

九局 2024-11-18 17:48:25

看看 shouldPerformDefaultActionForPerson:

- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)aPerson 
                    property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifierForValue {
            if(property == kABPersonPhoneProperty) {
              //save the number
              return NO;
            }
        return YES;
        }

--EDIT--

上面的方法是针对 ABPersonViewController 的,我误以为是 ABPeoplePicker。 ABPeoplePicker 的逻辑与上面相同,只是您将使用此委托回调:

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier

Take a look at shouldPerformDefaultActionForPerson:

- (BOOL)personViewController:(ABPersonViewController *)personViewController shouldPerformDefaultActionForPerson:(ABRecordRef)aPerson 
                    property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifierForValue {
            if(property == kABPersonPhoneProperty) {
              //save the number
              return NO;
            }
        return YES;
        }

--EDIT--

The above method is for ABPersonViewController which I mistook for ABPeoplePicker. The logic for ABPeoplePicker is the same as above only you would use this delegate call back instead:

- (BOOL)peoplePickerNavigationController:(ABPeoplePickerNavigationController *)peoplePicker shouldContinueAfterSelectingPerson:(ABRecordRef)person property:(ABPropertyID)property identifier:(ABMultiValueIdentifier)identifier
亚希 2024-11-18 17:48:25

我只是忘记在shouldContinueAfterSelectingPerson:方法中返回NO,我不知道你从哪里得到shouldPerformDecaultActionForPerson:,它不是委托方法之一

I just forgot to return NO in the shouldContinueAfterSelectingPerson: method, I don't know where you got shouldPerformDecaultActionForPerson: from, it's not one of the delegation methods

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文