android 电话号码归属地查询的方法

一,先看效果

这里有几个库,加入项目即可很简单的获取电话号码归属地。先看运行结果。

 二,步骤

1 集成3个库文件,资源在文章最后

把这三个库文件加入到项目的libs文件夹中,然后右键 Add As Library

2  布局代码

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity">

    <EditText
        android:id="@+id/editText"
        android:layout_width="150dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="50dp"
        android:inputType="number"
        android:text="输入电话号码"
        android:maxLength="11"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:text="查询归属地"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/editText" />

    <TextView
        android:id="@+id/textView"
        android:layout_width="150dp"
        android:layout_height="30dp"
        android:layout_marginTop="20dp"
        android:text="查询结果"
        android:gravity="center"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button" />

</androidx.constraintlayout.widget.ConstraintLayout>

 

 3 Activity 代码

package com.android.geodemo

import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import com.google.i18n.phonenumbers.Phonenumber
import com.google.i18n.phonenumbers.geocoding.PhoneNumberOfflineGeocoder
import kotlinx.android.synthetic.main.activity_main.*
import java.util.*

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        supportActionBar?.hide()
        initListener()
    }

    private fun initListener(){
        button.setOnClickListener {
            val number = editText.text.toString()
            val address = getGeo(number)
            textView.text = address
        }
    }

    //获取手机号码归属地的方法
    private fun getGeo(phoneNumber:String):String{
        val geoCoder = PhoneNumberOfflineGeocoder.getInstance()
        val phone = phoneNumber.toLong()
        val pn = Phonenumber.PhoneNumber()
        pn.countryCode = 86
        pn.nationalNumber = phone
        return geoCoder.getDescriptionForNumber(pn, Locale.CHINESE)
    }
}

 这里重要的方法就是  getGeo() 

 在该方法中输入电话号码,即可返回对应的号码归属地

库文件下载地址:

链接:https://pan.baidu.com/s/1cP8IQ8RA9fnU16zQkiB3lg 
提取码:9999

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值