Android取手机号码
生活随笔
收集整理的這篇文章主要介紹了
Android取手机号码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
因為手頭一個項目,需要讀取用戶手機號,結合在網上搜索的,整理了一下,方便下次使用,本次測試用的是三星手機+聯通手機卡,能正常取到手機號,不過前面有+86,處理一下就OK了。
下面是代碼:
package com.example.httpqingqiu.Tools; import android.content.*; import android.telephony.TelephonyManager; public class PhoneHelper {private Context context;private TelephonyManager telephonyManager; public PhoneHelper(Context context){this.context=context;telephonyManager = (TelephonyManager) context .getSystemService(Context.TELEPHONY_SERVICE);}/*** 從 SIM卡中取手機號* @return*/public String GetMobileNum(){String NativePhoneNumber=null; NativePhoneNumber=telephonyManager.getLine1Number(); if(NativePhoneNumber!=null && NativePhoneNumber.length()>1){String fstr=NativePhoneNumber.substring(0, 3);if(fstr.equals("+86")){NativePhoneNumber=NativePhoneNumber.substring(3);}}return NativePhoneNumber; }/*** 取電話服務商* @return*/public String getProvidersName() { String ProvidersName = null; // 返回唯一的用戶ID;就是這張卡的編號神馬的 String IMSI = telephonyManager.getSubscriberId(); // IMSI號前面3位460是國家,緊接著后面2位00 02是中國移動,01是中國聯通,03是中國電信。 System.out.println(IMSI); if (IMSI.startsWith("46000") || IMSI.startsWith("46002")) { ProvidersName = "中國移動"; } else if (IMSI.startsWith("46001")) { ProvidersName = "中國聯通"; } else if (IMSI.startsWith("46003")) { ProvidersName = "中國電信"; } return ProvidersName; } }總結
以上是生活随笔為你收集整理的Android取手机号码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Vue项目搭建流程
- 下一篇: 〖Windows〗Linux的Qt程序源