gpt4 book ai didi

android - "Phone"app如何显示不在通讯录中的联系人信息?

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:07:29 26 4
gpt4 key购买 nike

背景

在 Google 的“Phone”应用程序中,有一个选项“来电显示和垃圾邮件”:

enter image description here

因此,如果您接到不在地址簿上的某人或某个组织的电话,但它以某种方式被识别,您会得到一个名称,这样(称为“+972-035283487”):

enter image description here

自从 Android M (6.0 - API 23) 以来,应用程序可以替换默认的电话应用程序,然后通过扩展 InCallService 来在您调用某人或接到电话时提供替代 UI。类,如图所示here这是基于 here .

问题

我想尝试显示与“电话”应用程序相同的信息,即个人/公司的名称,以防它识别(并且它不在地址簿中)。

我尝试过的

我试图挖掘通过拨号器 API 获得的各种信息,但失败了:

  1. 各种领域和职能:android.telecom.Call

  2. getDetails在 Call 类的内部,所以我试图获取里面的内容,还有 statusHints和“label”里面的“statusHints”。这些都没有任何信息(返回 null)。我尝试查看“statusHints”的原因是因为这是我在文档中看到的内容:

Contains status label and icon displayed in the in-call UI.

  1. 在“电话”应用程序上,按“了解更多”会转到一个网站 ( here ),其中包含我认为可能是数据来源的链接,但我认为该应用程序本身并未使用此链接。相反,我认为它使用了 Google 的一些东西。

问题

  1. 是否可以获取此 CallerId 信息?如果是,怎么办?

  2. 电话应用程序是如何做到这一点的?它应该是开源的,所以必须有一些东西可以为它提供这些信息,对吧?克隆它会以某种方式获得此信息吗?也许 Google 有自己的来电显示服务?

  3. “callDetails”和“statusHints”有什么用?他们提供什么?

最佳答案

我相信 Android 的原生手机应用正在使用 Google 的地点搜索 API。因为您可以通过电话号码轻松搜索地点,并获取地点详细信息,例如名称、地点 ID、格式化地址以及您可以在 the documentation 中找到的许多其他字段。

请求网址: https://maps.googleapis.com/maps/api/place/findplacefromtext/json

请求方式:GET

请求查询参数:

  • key: Your application's API key.
  • input: The text input specifying which place to search for (for example a name or phone number).
  • inputtype: The type of input. This can be one of either textquery or phonenumber. Phone numbers must be in international format (prefixed by a plus sign ("+"), followed by the country code, then the phone number itself).

请求示例: https://maps.googleapis.com/maps/api/place/findplacefromtext/json?input=%2B972035283487&inputtype=phonenumber&fields=place_id,name&key=API_KEY_HERE

响应示例:

{
"candidates" : [
{
"name" : "מלך העופות",
"place_id" : "ChIJ78ko1zBKHRURpwbgUdWc4nU"
},
{
"name" : "Of Yaakov",
"place_id" : "ChIJv3myn4FMHRURUGffcXgxKuw"
}
],
"status" : "OK"
}

注意:此类 API 目前在 Google places SDK for Android 中不可用,但您可以直接在您的应用程序中使用 HTTP API,或者您可以在后端创建一个 API 作为 places API 的代理。我更喜欢后面的版本,因为在第一个解决方案中,API key 部署在应用程序代码中,黑客可以反编译 APK 并出于恶意原因使用它。出于安全原因,如果您使用后端解决方案,您必须将 API key 的使用限制为服务器的 IP 地址!

关于android - "Phone"app如何显示不在通讯录中的联系人信息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54956385/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com