要求就是获取手机当前插入的SIM卡的手机号.
如果用下边的这种方法,有的运营商/套餐的手机号获取不成功..
public String GetPhoneNum() { try { TelephonyManager tm = (TelephonyManager) this .getSystemService(Context.TELEPHONY_SERVICE); String phoneId = tm.getLine1Number(); return phoneId; } catch (Exception e) { // TODO: handle exception return ""; } }
具体原因请参见
http://www.cnblogs.com/growing/archive/2010/11/19/1881372.html
但是,有的程序就能获取所有的手机号,不过哪个运营商,哪个套餐..比如微信,QQ等,我想知道,他们是怎么做到的?有没有什么通用的方法,比如当获取不到时,采用其它方法获取的算法.(如:网上有朋友说向运营商发一些查询之类的短信,在运营商回复的短信中,有手机号码..但是各地区各运营商回复的短信内容可能不一样..怎么办?)