本机联系人|如何按号码搜索联系人,例如getContactsByNumber(number)

时间:2018-11-12 12:22:39

标签: angular typescript nativescript

使用nativescript-contacts插件 使用nativescript 5.0 + Angular + webpack

有什么方法可以根据电话号码获取联系人姓名吗?

核心问题是-我想显示最新的电话列表。它运作良好,但存在一个问题。

让我解释一个例子: 1.上午9:00收到来自未知号码的电话 这会将联系人姓名显示为“未知”,并在列表中显示呼叫者号码

  1. 在上午9.10结束此呼叫后,将号码添加到联系人。

  2. 在10.00,收到来自相同号码的呼叫。

  3. 现在在我的Android应用中,当我看到通话记录列表时,看到两个这样的通话->

上午10点Jim Corbet 999988887777 上午9:00未知999988887777

相反,如果要保存联系人姓名,我想显示带有联系人姓名的电话记录。 ===或者 我将查询nativescript-contacts以获取使用该号码的联系人姓名。 (此功能在此插件中不可用)

我尝试使用Set()没有运气。 我无法理解如何在查询时实现GROUP BY,对此我的理解是有限的。

请澄清一下,程序中没有错误。

以下是与呼叫日志相关的代码:

SELECT 
    MyDefaults.STATUS,
    COALESCE(MyTable.SUM, MyDefaults.SUM) AS [SUM]
FROM 
    MyDefaults LEFT JOIN MyTable ON MyDefaults.STATUS = MyTable.STATUS

1 个答案:

答案 0 :(得分:1)

您可以使用本机方式通过给定的电话号码提取姓名。在下面,您将找到一个基本的实现,演示了如何将Java代码转换为TypeScript。请注意,我正在使用tns-platform-declarations通过TypeScript访问本机API,并且正在使用nativescript-permissions授予用户访问和读取联系人的权限。

function

此外,请记住,应仔细分析数字。例如,取决于输入的联系人是本地运营商的电话号码还是国家/地区后缀+本地运营商号码。 (例如359 888111111找不到0888111111的结果)

证明以上内容的完整演示项目可以找到here