1. 程式人生 > >第十例:獲取手機號獲取本機通訊錄中儲存的姓名

第十例:獲取手機號獲取本機通訊錄中儲存的姓名


        String sPhone = "xxxx"; //查詢的手機號
        List<contactinfo> contactinfoList = new ArrayList<contactinfo>();
        String[] projection = { ContactsContract.PhoneLookup.DISPLAY_NAME, 
                       ContactsContract.CommonDataKinds.Phone.NUMBER}; 
        Cursor cursor = null;
        try{
           cursor = context.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                    projection,
                    ContactsContract.CommonDataKinds.Phone.NUMBER +"= '"+ sPhone +"'",
                    null,
                    null);
            while(raw_c.moveToNext()){
                String name = raw_c.getString(raw_c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                String number = raw_c.getString(raw_c.getColumnIndex(CommonDataKinds.Phone.NUMBER));
                Log.i("apiDemo","name :"+ name);
            }
        }finally{
            if(cursor!=null){
                cursor.close();
            }
        }

上面程式碼在邏輯上是沒有問題的.但實際上呢?

如果資料庫中儲存的為:+861xxxxxxxx1  實際查詢: 1xxxxxxxx1 
肯定查詢不到資料的!!!!

cursor = context.getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,
                    projection,
                    null,
                    null,
                    null);
            while(raw_c.moveToNext()){
                String name = raw_c.getString(raw_c.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
                String number = raw_c.getString(raw_c.getColumnIndex(CommonDataKinds.Phone.NUMBER));
                if(PhoneNumberUtils.compare(number ,sPhone))
                   Log.i("apiDemo","name :"+ name);
            }

使用迴圈,比較資料 應該是一個比較靠譜的作法!
1、ContactsContract.Contacts與ContactsContract.CommonDataKinds.Phone的區別?

2、PhoneNumberUtils ?

相關推薦

獲取機號獲取通訊錄儲存姓名

String sPhone = "xxxx"; //查詢的手機號    List<contactinfo> contactinfoList = new ArrayList<contactinfo>(); S

delphi for android 獲取機號

cti content tex BL1 string tlab man ria sender delphi for android 獲取手機號 uses System.SysUtils, System.Types, System.UITypes, System.

Python3(phone)模組獲取機號歸屬地、區號、運營商等

from phone import Phone import xlrd import xlwt def Get_Excel_data(): file = 'Tel.xlsx' #電話號碼儲存的excle表 re1 = xlrd.open_workbook(file)

小程式--一鍵獲取機號,控制按鈕顯示與隱藏

點選按鈕,呼叫後臺介面獲取到使用者的手機號,將獲取到的手機號渲染到input框裡面,同時,按鈕消失,即當input框不為空的時候,按鈕消失;input框為空的時候,按鈕顯示。 <view class="addAddress addAddressLine"> &

使用者機號獲取驗證碼註冊原始碼分享

 叮~ 你的原始碼分享純乾貨到了, 請注意查收! 使用者手機號註冊原始碼分享,首頁獲取驗證碼,呼叫阿里大魚簡訊驗證碼,介面thinkphp5.2寫的,可以判斷手機號是否註冊,簡訊傳送是否成功。 <!DOCTYPE html> <html>  

APICloud知識教程 | 使用者機號獲取驗證碼註冊原始碼分享

分享自:APICloud官方論壇   作者:論壇版主【funy】   使用者手機號註冊原始碼分享,首頁獲取驗證碼,呼叫阿里大魚簡訊驗證碼,介面thinkphp5.2寫的,可以判斷手機號是否註冊,簡訊傳送是否成功。 <!DOC

小程式獲取機號

getmobile: function(e) { let that = this; wx.request({ url: that.data.api + '/toker/getphone/getmobile/', data: { 'encryptedData': e.

-獲取機號地址

import android.annotation.SuppressLint; import android.os.Handler; import android.os.Message; import android.support.v7.app.AppCompatActivity; imp

微信開發之小程式獲取機號授權登入

小程式中有很多地方都會用到註冊使用者資訊的地方,使用者需要填寫手機號等,有了這個元件可以快速獲取微信繫結手機號碼,無須使用者填寫。1.getPhoneNumber這個元件通過button來實現(別的標籤無效)。將button中的open-type=“getPhoneNumbe

簡單正則表示式獲取機號

首先匯入re模組# _*_coding:utf-8 _*_ import re再得到原始資料# 模擬手機號碼匹配 # 給定原始資料 myphone = "asdf15297901267asdf" 得到資料後根據個人需要來設定匹配表示式# 提供匹配規則 \d表示匹配一個數字

微信獲取機號授權登入

1. <button bindgetphonenumber="getPhoneNumber" open-type="getPhoneNumber" class='button-hover'>確認授權</button> 2. getPhoneNumber: fu

最全的IMSI獲取機號段、歸屬地java程式碼

IMSI獲取手機號段、歸屬地 IMSI國際移動使用者識別碼(IMSI:International Mobile Subscriber Identification Number)是區別移動使用者的標誌,儲存在SIM卡中,可用於區別移動使用者的有效資訊。其總長度

機號獲取歸屬地 獲取到到城市

package com.xune.mr.mgmr.common.utils.mobileaddr; import java.io.BufferedReader; import java.io.IOException; import java.io.InputS

geoip+php演示樣通過ip,獲取國家名稱和程式碼

GeoIP + PHP的使用方法一:下載 GeoIP 的 PHP 檔案geoip.inc,儲存為 geoip.inc.phphttp://sjolzy.cn/php/GeoIP/bak/geoip.inc php使用程式碼 <?php include("geoip

開啟聯絡人獲取機號,一個聯絡人對應多個機號獲取方式

最近專案中遇到需要開啟通訊錄獲取聯絡人姓名和手機號功能,但是遇到的問題就是如果在一個聯絡人如果對應多個手機號的時候無法調取系統的選擇手機號的功能,這個太坑了,如果自己寫一個通訊錄的話工作量又非常大.下

微信小程式獲取機號授權登入

小程式中有很多地方都會用到註冊使用者資訊的地方,使用者需要填寫手機號等,有了這個元件可以快速獲取微信繫結手機號碼,無須使用者填寫。 1.getPhoneNumber這個元件通過button來實現(別的標籤無效)。將button中的open-type=“getPhone

java根據機號獲取歸屬地

引言 最近在做一個關於車新聞的專案,讓弄個根據使用者註冊的手機號獲取該使用者手機號所在地區,剛剛聽說感覺特別高大上,這也可以獲得???於是就開始度娘。。查了好多資料漸漸的明白了原理。 原理介紹   (1)先上網差一些能夠查詢手機號獲取歸屬地的API地址。(推薦地址:http

java 根據機號獲取歸屬地

感謝原文作者@xf吖,本人將歸屬地輸出略作修改 package com; import java.io.InputStream; import java.io.OutputStream; import java.io.OutputStreamWriter; import

android獲取機號

最近做一個專案 需要獲取到手機的相關資訊 一個朋友的看法: 從技術層面而言,手機的SIM卡上並不會儲存手機號碼資訊,只會儲存IMSI(International Mobile Subscriber Identification Number)。手機號碼(MSISDN)都是登記在HLR(Home Loca

python爬蟲解決趕集網掃碼獲取機號

(1)正常的抓取頁面: 不需要掃碼,需要點選檢視的 但是沒有這個必要,我們仔細看html程式碼: 發現裡面就已經包含了手機號碼;點選檢視手機號只是個擺設。 (2)需要掃碼的一個頁面,網址