`
jammk
  • 浏览: 42706 次
文章分类
社区版块
存档分类
最新评论

PhoneNumber(获取号码归属地和其他信息的开源库)

 
阅读更多
项目地址:PhoneNumber
简介:一个获取号码归属地和其他信息的开源库
 一个获取号码归属地和其他信息的开源库。支持本地离线(含归属地、骚扰、常用号码)和网络(百度、聚合数据或自定义 API)查询。English

 

 

下载

通过 gradle 下载

 

dependencies {
    compile 'org.xdty.phone.number:phone-number:0.7.13'
}

或 maven

<dependency>
  <groupId>org.xdty.phone.number</groupId>
  <artifactId>phone-number</artifactId>
  <version>0.7.13</version>
  <type>aar</type>
</dependency>

或从 maven central 直接下载 AAR 文件

用法

1. 添加 meta-data 到 AndroidManifest

<meta-data
    android:name="org.xdty.phone.number.API_KEY"
    android:value="API_KEY"/>
<meta-data
    android:name="org.xdty.phone.number.JUHE_API_KEY"
    android:value="JUHE_API_KEY"/>

 

你可以从  聚合数据 获取 JUHE_API_KEY,百度 API 中心 获取 API_KEY 。这一部分是用于联网查询的 API 私钥。

也可以在代码中设置 baidu_api_key 和 juhe_api_key 的 SharedPreferences 来动态控制 API 密钥,更多内容请参考 来电信息 的实现。

2. 代码中添加如下内容, 更多内容请参考 example 和 CallerInfo

new PhoneNumber(this, new PhoneNumber.Callback() {
    @Override
    public void onResponseOffline(INumber number) {
    }

    @Override
    public void onResponse(INumber number) {
        // Do your jobs here
        textView.setText(number.getName());
    }

    @Override
    public void onResponseFailed(INumber number) {
    }
}).fetch("10086", "10000", "10001", "OTHER_PHONE_NUMBER");

本地查询会通过 onResponseOffline(INumber number) 返回,联网查询会通过 onResponse(INumber number) 返回。

3. 自定义服务器及 API

请参考 自定义 API 文档

4. 自定义号码处理器

请参考 model 中的实现,实现 INumber 和 NumberHandler 接口。并在调用 fetch 前调用addNumberHandler(new YourCustomNumberHandler())

5. 禁用联网查询

请设置 only_offline_key 的 SharedPreferences 来全局控制,或使用 PhoneNumber(context, true, callback) 临时控制。

6. 优先查询控制

默认的查询顺序为 本地特殊号码->本地常用号码->本地标记号码->本地离线归属地->Google 离线归属地->联网自定义 API->联网百度 API->联网聚合数据 API 。可以通过设置 api_type 的 SharedPreferences 来控制优先的网络查询接口,值为每个模块的 getApiId() 返回值。

分享到:
评论

相关推荐

    Android获取手机号码归属地

    首先,我们要明白手机号码的归属地信息通常包括运营商(如中国移动、中国联通、中国电信)以及省份和城市信息。这些数据并不存储在设备本地,而是需要通过网络查询第三方API或者数据库获取。因此,开发过程中需要...

    PhoneNumber:一个获取号码归属地和其他信息(诈骗,骚扰等)的开源库[重构中]-源码开源

    一个获取号码归属地和其他信息(诈骗,骚扰等)的开源库。支持本地离线(含归属地,骚扰,常用号码)和网络(百度,聚合数据或自定义API)查询。 下载 通过gradle下载 dependencies { compile ' org.xdty.phone....

    php获取手机号码归属地,php号段归属地区类

    echo "手机号码 {$phoneNumber} 的归属地是 {$location}。\n"; ``` 在实际应用中,`Mobile.txt`文件的结构很重要。它可能是一个文本文件,每一行代表一个号码段及其归属地,例如: ``` 13800138000,广东,广州 ...

    Android代码-PhoneNumber

    一个获取号码归属地和其他信息(诈骗、骚扰等)的开源库。支持本地离线(含归属地、骚扰、常用号码)和网络(百度、聚合数据或自定义 API)查询。English 下载 通过 gradle 下载 dependencies { compile 'org....

    手机号码归属地MySQL库

    手机号码归属地MySQL库是一种用于存储和查询手机用户号码归属地信息的数据集合,通常由电信运营商或第三方服务提供商维护。这种数据库对于业务运营、市场营销、客户服务等领域至关重要,因为它可以帮助识别和定位...

    Android实现电话号码归属地的查询 源码

    这通常涉及到网络请求,因为获取归属地信息需要从服务器端数据库获取。服务器端数据库通常包含各个电话号码段与对应归属地的映射关系。在客户端,当用户输入或接收到一个电话号码时,会向服务器发送请求,服务器返回...

    电话号码归属地数据库

    - 查询特定电话号码的归属地和类型:通过`PhoneNumber`字段查找,返回对应的城市、区号和号码类型。 - 统计某个城市的所有电话号码数量:根据`City`字段分组并计算数量。 - 查找特定区号内的所有号码:筛选`AreaCode...

    手机号码归属地查询系统-源代码

    《手机号码归属地查询系统-源代码》是一个基于C#、.NET框架和SQL数据库的软件项目,旨在实现对手机号码归属地的实时查询功能。本文将深入探讨这个系统的架构、关键技术及其应用。 首先,C#是Microsoft开发的一种...

    电话号码归属地查询数据库

    该资源包含电话号段(前七位)及对应的所在地省份和城市,可用于开发归属地查询api、注册用户归属地查询、用户区域统计、号码来电地区显示等。附件包含Excel文件和sql文件:2022年7月电话归属地数据库.xlsx、phone_...

    手机号码归属地数据库(SQL)

    设计良好的API接口能够方便地获取或更新号码归属地信息。 8. **性能监控**:持续监控数据库性能,如查询响应时间、CPU使用率和内存占用,以确保系统稳定运行。 综上所述,这个手机号码归属地数据库SQL脚本提供了一...

    最新整理手机号码归属地数据库SQL版

    手机号码归属地数据库是IT行业中一个实用的数据资源,主要用于帮助用户查询特定手机号码所属的地区信息。这个"最新整理手机号码归属地数据库SQL版"包含了从130到139,150到159,以及180、182、185、186、187、188和...

    手机号码归属地解析

    4. **数据更新**:手机号码归属地信息可能会随着运营商的网络布局变化而更新,因此,无论采用哪种方法,都需要注意定期更新数据源,确保信息的准确性和时效性。 总的来说,手机号码归属地解析在PHP开发中涉及到网络...

    java 调用 360 api 接口实现批量查询手机号码归属地

    响应通常包含JSON格式的数据,其中包含了手机号码的归属地信息。使用如`org.json`库解析JSON数据,提取所需信息。 6. **错误处理**:处理可能出现的网络问题、API调用限制、无效响应等错误情况。例如,如果API调用...

    Go-基于GO语言实现手机号码归属地信息库手机号归属地查询

    在本文中,我们将深入探讨如何使用Go语言来构建一个手机号码归属地信息库,并实现手机号码归属地查询功能。Go语言,又称Golang,是由Google开发的一种静态类型的编译型编程语言,以其简洁的语法、高效的性能以及强大...

    C# 查询手机号码归属地

    - 如果你拥有一个包含全国手机号码归属地信息的数据库,你可以通过编写SQL查询来获取信息。例如,可以创建一个包含`PhoneNumber`,`Operator`和`ProvinceCity`字段的表。C#代码中,可以使用ADO.NET库连接数据库,...

    Android实现电话号码归属地的查询源码

    在用户输入电话号码后,我们调用网络服务获取归属地信息,并更新UI。 ```java Button queryButton = findViewById(R.id.query_button); EditText phoneNumberInput = findViewById(R.id.phone_number_input); ...

    C#手机号码归属地离线查询工具源码 (一百万次查询不到一秒)

    这个C#手机号码归属地离线查询工具源码提供了一种快速、简单的方式来查询任何中国手机号码的归属地信息。不仅如此,这个工具还拥有非常高效的查询速度,能够在一百万次查询中不到一秒钟内完成。 这个工具的源代码...

    c#实现手机号码归属地查询

    2. **模型定义**:定义一个模型类来表示手机号码和其归属地信息,例如: ```csharp public class PhoneNumberInfo { public string PhoneNumber { get; set; } public string Province { get; set; } public ...

    电话号码归属地 一览表(oracle格式)

    电话号码归属地查询是通信行业中一个常见的需求,用于获取电话号码所属的地区信息。这个资源是一个基于Oracle数据库格式的电话号码归属地一览表,包含了2018年更新的数据。以下将详细介绍如何理解和使用这个数据资源...

Global site tag (gtag.js) - Google Analytics