在数据库中查找号码

Find number in database

我在本地联系人中存储了一个号码,例如

XYZ 9986799867

现在,我将阅读这篇文章并将其存储在我的数据库中,例如


1 |坐标 | 9986799867

假设如果我接到电话,它会像 +919986799867

我的搜索失败,因为输入号码中存在不匹配 +91 而不是本地数据库。

如果我对联系人数据库进行相同的搜索,

Cursor cursor = ct.getContentResolver().query(contactUri, projection, null, null, null);

它提供了正确的名称。这是系统搜索,能说说内部是怎么处理的吗

您可以使用以下库将包含国家代码的号码与 Java 中不包含的号码进行比较:

libphonenumber-6.2.2.jar

有了这个库,您可以使用 isNumberMatch 如果数字匹配,returns 为真。

您可以在这里找到更多信息:

LibPhoneNnumber GitHub

方案一:先查手机号码长度为10表示直接调用select查询否则使用substring方法调用select查询后获取最后10位号码 选项 2:使用国家代码保存手机号码