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

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() 返回值。

分享到:
评论

相关推荐

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

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

    Android代码-PhoneNumber

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

    电话号码归属地数据库

    总的来说,电话号码归属地数据库提供了一种高效的方式来管理和查询大量电话号码的归属信息。SQLite数据库作为后台存储,为查询提供了便利,同时保持了系统资源的低占用。无论是开发者还是普通用户,了解这些基础知识...

    手机号码归属地解析

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

    Android手机号码归属地查询

    在接收到服务器返回的SOAP响应后,我们需要解析XML数据以获取归属地信息。这可以通过遍历`SoapObject`的属性来完成,例如,如果归属地信息包含在`result`对象的`province`和`city`属性中,我们可以这样获取: ```...

    全网2021年9月最新手机号段归属地数据库(包含36万的sql库和47万的sql库可做选择)

    这表明除了SQL格式的数据库外,还有TXT格式的数据,TXT文件可能包含了以纯文本形式存储的手机号码和归属地信息,这样的格式更容易被非SQL工具或程序读取,适合进行初步的数据探索和分析。 总的来说,这个资源提供了...

Global site tag (gtag.js) - Google Analytics