Call Blocker - Blacklist 图标

Call Blocker 黑名单与拦截通话数据

cxzh.ltd · 效率工具 3.5 ★

《Call Blocker - Blacklist》是香港开发者 cxzh.ltd(MOUTRENB SCIENCE & TECHNOLOGY LIMITED,商店署名 cxzh.ltd)的 Android 来电拦截应用,与同一工作室的 Private Space 保险箱、杀毒与 Wi-Fi 检测产品同属一个产品线。它占用系统默认来电筛选角色,把呼入号码对照用户自建黑名单、家人/医生白名单,以及隐藏号/私密号与一声响(恶作剧)规则,然后立即挂断或静音并弹出通知。用户可从通讯录或系统通话记录加号,在规则页选择拦截模式,并在拦截历史里查看未读角标;Call Blocker One 是 Google Play 订阅(月付、季付、年付 SKU),用于去广告。约 15.8 万条评价、评分约 3.5,安装量超过一千万,面向想在本机拦截骚扰来电、而不是依赖社区号码库的用户,对标 Truecaller、Hiya、Whoscall、Should I Answer? 与 Calls Blacklist 等云端来电识别产品。

每一通被筛选的呼入,首先是一条名单行:address、可选 name、type(1 黑名单、0 白名单)以及用于查找的 reverse 键,并分别统计 blacklistCount 与 whitelistCount。来电筛选拒接或静音后,历史行带上 block_mode、date、duration、location、呼入/呼出/恶作剧 type 与未读 read。号码标签卡片补充 phonenum、tagName、tagCount 与 updateTime;规则对象保存 antiharass_block_model、antiharass_reject_way 与恶作剧来电开关;Call Blocker One 权益则是 Play 的 sku 加 purchaseToken。

家庭看板把黑名单行重放到第二台手机,事件台账分页拦截历史并清除未读角标,类 MDM 检查对照空的家人白名单审计筛选模式。财务把月付、季付、年付 SKU 与去广告标记对齐。openData Studio 把这些名单、日志、标签、规则与权益字段变成可调用的开放数据。

应用截图

  • Call Blocker - Blacklist 应用截图 1
  • Call Blocker - Blacklist 应用截图 2
  • Call Blocker - Blacklist 应用截图 3

API 端点一览

请求/响应示例为依据应用界面重构的示意示例,并非实时抓包。

  • 列出黑名单或白名单条目

    GET /v1/lists osint

    分页返回 BlackListActivity / WhiteListActivity 中 nq_black_white 的行,按 type(1 黑名单、0 白名单)过滤,含 address、倒序检索键 reverse 与可选 name。

    认证方式: 来电筛选角色的本机会话。范围限于本安装的 nq_black_white 表,无云端账户。

    • type
    • count
    • _id
    • name
    • address
    • reverse
    • items
    GET /v1/lists?type=1 HTTP/1.1
    Accept: application/json
    X-App-Version: 5.8.12.00
    {
      "type": 1,
      "count": 2,
      "items": [
        {
          "_id": 18,
          "type": 1,
          "name": "Unknown telemarketer",
          "address": "+12025550123",
          "reverse": "32105552021+"
        },
        {
          "_id": 19,
          "type": 1,
          "name": "",
          "address": "+442079460958",
          "reverse": "859064970224+"
        }
      ]
    }
  • 将号码加入黑名单或白名单

    POST /v1/lists osint

    创建 BlackWhiteListModel 行(address、name、type)并写入用于查找的 reverse,对应 AddFromContactsActivity 与 AddFromCallLogActivity。

    认证方式: 本机会话。写入 nq_black_white;PrivacyDataProvider 也在 blackwhitelist 路径接受 bulkInsert。

    • address
    • name
    • type
    • _id
    • reverse
    POST /v1/lists HTTP/1.1
    Content-Type: application/json
    X-App-Version: 5.8.12.00
    
    {
      "address": "+12025550123",
      "name": "Unknown telemarketer",
      "type": 1
    }
    {
      "_id": 18,
      "address": "+12025550123",
      "name": "Unknown telemarketer",
      "type": 1,
      "reverse": "32105552021+"
    }
  • 更新名单条目

    PUT /v1/lists/{id} osint

    从 EditDeleteNumActivity 编辑已有黑/白名单行,重写 address、name、type 与 reverse。

    认证方式: 本机会话。按 _id 更新 nq_black_white。

    • _id
    • address
    • name
    • type
    • reverse
    • updated
    PUT /v1/lists/18 HTTP/1.1
    Content-Type: application/json
    X-App-Version: 5.8.12.00
    
    {
      "_id": 18,
      "address": "+12025550123",
      "name": "Acme telemarketing",
      "type": 1
    }
    {
      "updated": 1,
      "_id": 18,
      "address": "+12025550123",
      "name": "Acme telemarketing",
      "type": 1,
      "reverse": "32105552021+"
    }
  • 按号码删除名单条目

    DELETE /v1/lists osint

    用户在 EditDeleteNumActivity 删除号码时,从黑名单或白名单移除该条目。

    认证方式: 本机会话。按规范化号码的 reverse 从 nq_black_white 删除。

    • address
    • deleted
    DELETE /v1/lists?address=%2B12025550123 HTTP/1.1
    X-App-Version: 5.8.12.00
    {
      "deleted": 1,
      "address": "+12025550123"
    }
  • 查询号码是否在名单中

    GET /v1/lists/lookup osint

    返回某号码的名单 type(1 黑名单 / 0 白名单)与显示 name,以及通讯录 PhoneLookup 是否命中——即 ScreeningService 决定放行、拒接或静音时的检查。

    认证方式: ScreeningService.onScreenCall 在构造 CallResponse 前使用的本机会话。

    • address
    • listed
    • type
    • name
    • inContacts
    GET /v1/lists/lookup?address=%2B12025550123 HTTP/1.1
    X-App-Version: 5.8.12.00
    {
      "address": "+12025550123",
      "listed": true,
      "type": 1,
      "name": "Unknown telemarketer",
      "inContacts": false
    }
  • 列出拦截通话历史

    GET /v1/blocked-calls opendata

    分页返回 BlockCallLogHistoryActivity:每条 nq_calllog 行是 BlockedCallsModel,含 address、name、location、date、duration、type(呼入/呼出/恶作剧)、read 与 block_mode。

    认证方式: 本机会话。按 date DESC 读取 nq_calllog。

    • count
    • unread
    • _id
    • address
    • name
    • location
    • date
    • duration
    • type
    • read
    • block_mode
    • items
    GET /v1/blocked-calls?unreadOnly=false HTTP/1.1
    Accept: application/json
    X-App-Version: 5.8.12.00
    {
      "count": 1,
      "unread": 1,
      "items": [
        {
          "_id": 41,
          "address": "+12025550123",
          "name": "Unknown telemarketer",
          "location": "Washington, DC",
          "date": 1759411200000,
          "duration": 0,
          "type": 1,
          "read": 0,
          "block_mode": 1
        }
      ]
    }
  • 记录一次拦截通话

    POST /v1/blocked-calls opendata

    插入 ScreeningService 拒接后来写的 BlockedCallsModel,含当时的 block_mode 与未读 read=0。

    认证方式: ScreeningService 在拒接/静音 CallResponse 之后写入的本机会话。

    • address
    • name
    • location
    • date
    • duration
    • type
    • read
    • block_mode
    • _id
    POST /v1/blocked-calls HTTP/1.1
    Content-Type: application/json
    X-App-Version: 5.8.12.00
    
    {
      "address": "+12025550123",
      "name": "Unknown telemarketer",
      "location": "Washington, DC",
      "date": 1759411200000,
      "duration": 0,
      "type": 1,
      "read": 0,
      "block_mode": 1
    }
    {
      "_id": 41,
      "address": "+12025550123",
      "name": "Unknown telemarketer",
      "location": "Washington, DC",
      "date": 1759411200000,
      "duration": 0,
      "type": 1,
      "read": 0,
      "block_mode": 1
    }
  • 将拦截历史标为已读

    POST /v1/blocked-calls/read opendata

    清除 BlockCallLogHistoryActivity 的未读角标,可针对单行(_id)或全部日志(所有行 read=1)。

    认证方式: 本机会话。更新 nq_calllog.read。

    • _id
    • read
    • updated
    • unread
    POST /v1/blocked-calls/read HTTP/1.1
    Content-Type: application/json
    X-App-Version: 5.8.12.00
    
    {
      "_id": 41,
      "read": 1
    }
    {
      "updated": 1,
      "_id": 41,
      "read": 1,
      "unread": 0
    }
  • 读取或设置拦截规则

    GET /v1/block-rules opendata

    返回 BlockRuleActivity 的拦截模式(0–3)、拒接方式、恶作剧来电与短信开关,以及当前黑/白名单条数。

    认证方式: 本机会话。取值来自 SharedPreferences nq_antiharass。

    • antiharass_block_model
    • antiharass_reject_way
    • antiharass_block_prank_call
    • antiharass_block_prank_call_notification
    • antiharass_block_sms
    • blacklistCount
    • whitelistCount
    GET /v1/block-rules HTTP/1.1
    Accept: application/json
    X-App-Version: 5.8.12.00
    {
      "antiharass_block_model": 1,
      "antiharass_reject_way": 0,
      "antiharass_block_prank_call": true,
      "antiharass_block_prank_call_notification": true,
      "antiharass_block_sms": false,
      "blacklistCount": 12,
      "whitelistCount": 4
    }
  • 更新拦截规则

    PUT /v1/block-rules opendata

    持久化 BlockRuleActivity 编辑的筛选策略,使 ScreeningService 在下一通呼入时使用新的 block_model 与 reject_way。

    认证方式: 本机会话。写入 nq_antiharass 偏好并广播 com.netqin.antiharass.refresh。

    • antiharass_block_model
    • antiharass_reject_way
    • antiharass_block_prank_call
    • antiharass_block_prank_call_notification
    • refreshed
    PUT /v1/block-rules HTTP/1.1
    Content-Type: application/json
    X-App-Version: 5.8.12.00
    
    {
      "antiharass_block_model": 2,
      "antiharass_reject_way": 1,
      "antiharass_block_prank_call": true,
      "antiharass_block_prank_call_notification": false
    }
    {
      "antiharass_block_model": 2,
      "antiharass_reject_way": 1,
      "antiharass_block_prank_call": true,
      "antiharass_block_prank_call_notification": false,
      "refreshed": true
    }
  • 列出号码标签

    GET /v1/phone-tags osint

    返回 AntiharassTagNumberActivity 展示的 PhoneTagInfoModel 行:号码、社区式 tagName、tagCount 以及标签卡片是否已打开。

    认证方式: 本机会话。号码标签状态保存在 nq_phonetag 偏好命名空间。

    • id
    • phonenum
    • tagName
    • tagCount
    • updateTime
    • isRead
    • items
    GET /v1/phone-tags HTTP/1.1
    Accept: application/json
    X-App-Version: 5.8.12.00
    {
      "items": [
        {
          "id": 7,
          "phonenum": "+12025550123",
          "tagName": "Telemarketer",
          "tagCount": "128",
          "updateTime": 1759411200000,
          "isRead": false
        }
      ]
    }
  • 拉取远程配置

    POST /v1/remote-config opendata

    加载家庭应用与功能开关读取的 RemoteConfigResp 映射(含 main_romote 交叉推广 id),按安装 country 与 deviceId 区分。

    认证方式: 无。请求体用 deviceId、appId、appVersion 与 country 标识安装;userType 标记回访用户。

    • appChannel
    • appId
    • appVerCode
    • appVersion
    • country
    • deviceId
    • sdkVerCode
    • sdkVersion
    • userType
    • errorCode
    • errorMsg
    • result
    • config
    • update
    • main_romote
    POST /v1/remote-config HTTP/1.1
    Content-Type: application/json
    X-App-Version: 5.8.12.00
    
    {
      "appChannel": "gp",
      "appId": 1001,
      "appVerCode": 212,
      "appVersion": "5.8.12.00",
      "country": "US",
      "deviceId": "a1b2c3d4e5f6",
      "sdkVerCode": 1,
      "sdkVersion": "1.0.0",
      "userType": 1
    }
    {
      "errorCode": 0,
      "errorMsg": "",
      "result": {
        "config": {
          "main_romote": "1-2-3-4-7-8-9"
        },
        "update": 1759411200000
      }
    }
  • 读取 Call Blocker One 权益

    GET /v1/subscription opendata

    返回 Call Blocker One 是否生效,以及 SubscribeActivity 提供的月付 / 季付 / 年付 SKU 中的哪一个。

    认证方式: 本应用的 Google Play Billing purchaseToken。SubscribeActivity 在把 SKU 视为有效前先校验本地 RSA 签名。

    • sku
    • productId
    • purchaseToken
    • autoRenewing
    • entitled
    • plans
    GET /v1/subscription HTTP/1.1
    Authorization: Bearer <play-purchase-token>
    X-App-Version: 5.8.12.00
    {
      "sku": "subs_callblocker_one_yearly",
      "productId": "subs_callblocker_one_yearly",
      "purchaseToken": "opaque-play-token",
      "autoRenewing": true,
      "entitled": true,
      "plans": [
        "subs_callblocker_one_monthly",
        "subs_callblocker_one_3months",
        "subs_callblocker_one_yearly"
      ]
    }

数据类别

  • 黑名单
  • 白名单
  • 拦截通话
  • 拦截规则
  • 号码标签
  • 远程配置
  • 订阅

数据使用场景与案例

  • 第二台手机的本机骚扰名单同步

    隐私工具导出 GET /v1/lists?type=1(address、name、reverse),再在另一台设备上重放 POST /v1/lists,换机后同一批推销号码仍被拦截。

  • 拦截来电台账

    家庭或小办公室看板分页拉取 GET /v1/blocked-calls 的 address、date、block_mode 与未读数,用户看完 ScreeningService 拒接记录后调用 POST /v1/blocked-calls/read。

  • 筛选模式策略审计

    类 MDM 检查读取 GET /v1/block-rules(antiharass_block_model、antiharass_reject_way、antiharass_block_prank_call),标出仍停在「仅黑名单」且家人白名单为空的安装。

  • Call Blocker One 对账

    财务把 Play purchaseToken 与 GET /v1/subscription 的 sku / autoRenewing / entitled 对齐,使月付、季付、年付续费与去广告标记一致。

常见问题

Call Blocker 有云端来电识别号码库吗?

没有文档化的共享骚扰图谱。筛选在本地完成:ScreeningService 检查 nq_black_white(address、type、reverse)与 nq_antiharass 开关,再写入 nq_calllog。号码标签(phonenum、tagName、tagCount)是本机卡片,不是 Truecaller 式社区查询。

一条拦截通话用哪些字段标识?

每条 nq_calllog 行含 address、name、location、date、duration、type(1 呼入、2 呼出、0 恶作剧)、read(0 未读 / 1 已读)与 block_mode——即 BlockCallLogHistoryActivity 列出的 BlockedCallsModel。

黑名单和白名单行如何区分?

BlackWhiteListModel.type 为 1 表示黑名单、0 表示白名单。名单接口按该列过滤 nq_black_white,并保存 address 的 reverse,供 ScreeningService 在每通呼入时查找。

什么是 Call Blocker One?

SubscribeActivity 上售卖的 Google Play 订阅。SKU 为 subs_callblocker_one_monthly、subs_callblocker_one_3months 与 subs_callblocker_one_yearly;权益载荷含 sku、purchaseToken、autoRenewing 与 entitled。

与 Call Blocker - Blacklist 相似的应用

  • Truecaller: Spam Call Blocker — Truecaller 用社区来电识别图谱标注呼入号码并拦截骚扰;Call Blocker 则对照用户自建的本机黑名单筛选。
  • Hiya - Call Blocker & Caller ID — Hiya 用云端信誉服务给呼入打分并可选来电显示;本应用通过系统来电筛选和本机名单在设备上做决定。
  • Whoscall - Caller ID & Block — Whoscall(Gogolook)是东亚常用的来电显示与骚扰拦截应用,依赖共享号码库,而非私有 SQLite 黑名单。
  • Should I Answer? — Should I Answer? 是靠社区评分众包骚扰举报的来电拦截应用;Call Blocker 使用用户手输或导入的明确黑/白名单行。
  • Calls Blacklist - Call Blocker — Calls Blacklist 是另一款 Android 本机拦截名单工具,形态上最接近本应用的 nq_black_white 加拦截通话日志。

相关主题

  • Call Blocker API
  • 黑名单
  • 白名单
  • 拦截通话
  • block_mode
  • 号码标签
  • Call Blocker One
  • cxzh.ltd
  • 来电筛选
  • 骚扰来电日志

需要集成这个 App 的数据 API?

我们可为任意指定 App 交付定制集成——源码交付 USD 500 起,或托管 API 按调用计费。告诉我们您需要的数据即可。

  • 每个项目均签 NDA 与 SOW
  • 3–7 天交付
  • 验收通过后才付款
  • 仅在授权范围内作业

获取报价