Android取手机号码
来源:互联网 发布:运营商 云计算 编辑:程序博客网 时间:2024/05/29 19:41
因为手头一个项目,需要读取用户手机号,结合在网上搜索的,整理了一下,方便下次使用,本次测试用的是三星手机+联通手机卡,能正常取到手机号,不过前面有+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; } }
0 0
- Android取手机号码
- android 手机号码
- 对android调用web Service取手机号码归属地,运行不了的解决
- Android手机号码获取问题
- android Contacts读取手机号码
- Android手机号码获取问题
- Android 验证手机号码
- Android 获取手机号码
- Android手机号码获取问题
- android 删除手机号码
- 【Android】手机号码获取问题
- Android手机号码获取问题
- Android手机号码获取问题
- Android手机号码获取问题
- Android正则校验手机号码
- android 获取手机号码
- Android获取当前手机号码
- Android获取手机号码
- java
- HBase性能优化方法总结
- cursor: pin S产生原理及解决方法
- 超简单的通过年月得到当月天数,从简单的小例子来解析代码的优化
- 聊聊C++语言-软件和编程
- Android取手机号码
- 【ZOJ】3874 Permutation Graph 【FFT+CDQ分治】
- 控制语句
- 复合类型——引用、指针
- Javaweb验证码生成
- [LeetCode]Isomorphic Strings
- 【2】java全排列
- 2010年山东省第一届ACM大学生程序设计竞赛——Greatest Number
- zoj Capture the Flag 比较难的模拟题