如何检测是否接到来自特殊联系人的来电

时间:2016-12-11 15:57:19

标签: android-contacts

我的应用中有一个Recyclerview,显示所有用户联系人 哪个用户可以选择列表的任何项目(联系人) 我希望当选定的联系人呼叫用户应用程序做我想要的东西。 我有所有的代码和完美的工作,但我只有一个问题 在我的应用程序中,当用户单击列表项时,我的应用程序保存联系人号码,当用户收到来电时我检查传入号码是否是用户选择的列表项之一,应该做的事情 问题是如果用户例如保存号码如0090 **********当设备振铃时我得到来电号码但是来电号码是+90 **********和节目没有国家代码,如0 *********,无法工作或用户保存的号码,再次程序不起作用 我该怎么办?任何的想法? 我知道这有可能在所有三种方式,因为电话簿始终以任何方式检测到该联系,但我的应用程序没有 请帮帮我

1 个答案:

答案 0 :(得分:0)

您需要在应用中格式化两者保存的电话号码,并将来电电话格式化为e164 format,这是电话号码的规范格式:+<country-code><phone-number>

要做到这一点,您应该在此处使用Google的libphonenumber包: https://github.com/googlei18n/libphonenumber

这样的事情:

PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
String formattedNumber = phoneUtil.format(inputNumber, PhoneNumberFormat.E164);