• PhoneNumber


    项目地址:PhoneNumber
    简介:一个获取号码归属地和其他信息(诈骗、骚扰等)的开源库
     

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

    Build Status JAR Download

    下载

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

  • 相关阅读:
    python(六):反射
    python模块之contexlib
    python(五):元类与抽象基类
    python之hashlib模块
    python(四):面型对象--类的特殊方法
    20145226夏艺华 《Java程序设计》第1周学习总结
    20145226夏艺华 《Java程序设计》第10周学习总结
    20145226夏艺华 《Java程序设计》实验报告四
    20145226夏艺华 《Java程序设计》第9周学习总结
    20145226夏艺华 《Java程序设计》第8周学习总结
  • 原文地址:https://www.cnblogs.com/annie00/p/5799006.html
Copyright © 2020-2023  润新知