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

一,先看效果

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

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

 二,步骤

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

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

把这三个库文件加入到项目的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>

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

 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

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

 

上一篇:PAT-乙级-1007.素数对猜想


下一篇:数据结构算法每日一练(二)Laguerre多项式