台湾阿里云代理商:android来电归属地

查询需要使用第三方API,可以选择调用提供此服务的API接口或者购买相关服务的API产品。常见的API接口包括聚合数据、天眼查、阿里云API等。购买API产品可以选择阿里云市场的相关产品,如“号码归属地查询API”、“全球手机号码归属地查询API”等。需要根据具体业务场景和需求选择适合的API接口或者产品。

查询代码

查询来电归属地是许多手机用户都关心的问题,因此在阿里云上也有相应的代理商提供相关服务。下面是一段使用android系统的代码示例,可以实现来电归属地查询功能。

台湾阿里云代理商:android来电归属地
import android.content.Context;
import android.database.Cursor;
import android.net.Uri;
import android.provider.ContactsContract;
import android.provider.ContactsContract.PhoneLookup;
import android.telephony.PhoneStateListener;
import android.telephony.TelephonyManager;
import android.text.TextUtils;
import android.util.Log;

public class PhoneListener extends PhoneStateListener {

    private final String TAG = PhoneListener.class.getSimpleName();
    private Context mContext;

    public PhoneListener(Context context) {
        mContext = context;
    }

    @Override
    public void onCallStateChanged(int state, String incomingNumber) {
        super.onCallStateChanged(state, incomingNumber);

        switch (state) {
            case TelephonyManager.CALL_STATE_IDLE:
                Log.d(TAG, "挂断");
                break;
            case TelephonyManager.CALL_STATE_RINGING:
                Log.d(TAG, "响铃:来电号码" + incomingNumber);
                String location = queryLocation(incomingNumber);
                if (!TextUtils.isEmpty(location)) {
                    Log.d(TAG, "归属地:" + location);
                }
                break;
            case TelephonyManager.CALL_STATE_OFFHOOK:
                Log.d(TAG, "接听");
                break;
        }
    }

    /**
     * 查询来电号码的归属地信息
     *
     * @param incomingNumber 来电号码
     * @return 归属地信息
     */
    private String queryLocation(String incomingNumber) {
        String location = "";
        try {
            Uri uri = Uri.parse("content://com.android.contacts/data/phones/filter/" + incomingNumber);
            Cursor cursor = mContext.getContentResolver().query(uri, new String[]{"display_name", "lookup"}, null, null, null);
            if (cursor != null && cursor.moveToFirst()) {
                String lookup_key = cursor.getString(1);
                Uri lookupUri = Uri.withAppendedPath(ContactsContract.Contacts.CONTENT_LOOKUP_URI, lookup_key);
                Cursor contactsCursor = mContext.getContentResolver().query(lookupUri, new String[]{PhoneLookup._ID, PhoneLookup.DISPLAY_NAME, PhoneLookup.PHOTO_ID}, null, null, null);
                if (contactsCursor != null && contactsCursor.moveToFirst()) {
                    long contact_id = contactsCursor.getLong(0);
                    String name = contactsCursor.getString(1);
                    long photo_id = contactsCursor.getLong(2);
                    location = (TextUtils.isEmpty(name) ? "" : name + " ") + queryPhoneNumberLocation(incomingNumber);
                } else {
                    location = queryPhoneNumberLocation(incomingNumber);
                }
                if (cursor != null) {
                    cursor.close();
                }
                if (contactsCursor != null) {
                    contactsCursor.close();
                }
            } else {
                location = queryPhoneNumberLocation(incomingNumber);
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
        return location;
    }

    /**
     * 根据手机号码查询其所属地区
     *
     * @param phoneNumber 手机号码
     * @return 所属地区
     */
    private String queryPhoneNumberLocation(String phoneNumber) {
        return "来电归属地";
    }
}

通过上述代码,我们可以通过监听来电状态的变化,实现查询来电号码的归属地信息的功能。具体流程是:当接收到来电时,根据传入的来电号码查询联系人表中的信息,若查询到联系人,则将联系人名与归属地拼接,若没有查询到联系人,则只返回归属地信息。另外,代码中的queryPhoneNumberLocation方法只是一个示例方法,如果需要实现真正的归属地查询功能,需要自行编写查询逻辑。

发布者:luotuoemo,转转请注明出处:https://www.jintuiyun.com/116153.html

Like (0)
luotuoemo的头像luotuoemo
Previous 2023年12月29日 04:56
Next 2023年12月29日 05:05

相关推荐

  • 岳阳阿里云代理商:阿里云WEB应用防火墙好吗

    作为阿里云的代理商,我们认为阿里云WEB应用防火墙(WAF)是一款非常优秀的产品。阿里云WAF可以在云端对WEB应用进行全方位的保护,能够有效防御常见的WEB攻击,提供高效可靠的WEB应用安全保护。 阿里云WAF具备以下几个优势: 多层次、多维度的安全防护:阿里云WAF可以通过阻挡恶意流量、检测异常行为、防范应用层攻击等方式,提供全方位的安全防护,有效抵御D…

    2023年12月21日
    9400
  • 阿里云大数据服务的应用场景包括

    以下是阿里云大数据服务的一些应用场景: 数据分析和数据挖掘:阿里云大数据服务可以帮助企业快速处理和分析大规模数据,挖掘潜在的商业价值。例如,可以通过数据分析预测销售趋势,优化供应链管理,制定更有效的营销策略等。 业务智能和决策支持:阿里云大数据服务可以为企业提供实时数据可视化和分析报告,帮助管理层做出更准确的决策。例如,可以通过数据分析获得关键业务指标,监控…

    2023年10月2日
    8200
  • 宣化区阿里巴巴云计算在哪里建

    河北省张家口市宣化区哪里售新楼 皇城家园,京西江南,太阳城,尚东国际。。。。。。。。。。。。 云计算中的虚拟机是在什么地方创建的?如何创建? 虚拟机是资源的的具象,资源太抽象了,虽然说包括但不限于计算、存储和网络这三大资源,但是这些资源都是统一放在一个“池子”里,如何管理这些资源,并根据用户的需求合理地进行划分,虚拟机就是一种非常好的资源管理方式,它将物理主…

    2023年8月28日
    9500
  • 昆明阿里云代理商:android下音频录制以及网络传输的思路及开发方法

    在Android平台上实现音频录制和网络传输的思路如下: 音频录制: 使用MediaRecorder类来录制音频,首先创建MediaRecorder对象并设置相关参数如音频源、音频格式、音频编码器等。 调用MediaRecorder的prepare()方法进行准备工作。 调用MediaRecorder的start()方法开始录音。 在需要停止录音时,调用Me…

    2024年2月9日
    11300
  • 太原阿里云代理商:api sh

    太原阿里云代理商:提供一站式云计算服务 引言 作为云计算行业的巨头,阿里云凭借其先进的技术和强大的资源优势,成为各行各业不可或缺的云服务提供商。太原阿里云代理商api sh受益于阿里云的持续创新,为当地企业提供了一站式的云计算服务。本文将重点介绍阿里云的优势以及api sh作为其代理商的优点。 多样化的产品和服务 阿里云作为一个全球领先的云服务提供商,拥有丰…

    2024年1月26日
    8000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

4000-747-360

在线咨询: QQ交谈

邮件:ixuntao@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
购买阿里云服务器请访问:https://www.4526.cn/