在android系统中获取imei号和其他手机信息

如果需要通过android SDK获取手机相关信息。需要通过如下方式获取:

TelephonyManager telephonyManager=(TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE); String imei=telephonyManager.getDeviceId();

不过,光这么写,会有类似如何查看android产生的异常的报错,主要是因为android的权限需要打开,在AndroidManifest.xml文件中增加:

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

就可以拿到手机的imei号了。

TelephonyManager还有其他方法可以调用,获取手机的其他信息。

比如获取手机号码,可以这样:

telephonyManager.getLine1Number();

不过在g1手机上测试,使用移动全球通的sim卡,无法得到手机号码,是个空字符串。

获取手机的sim卡号

telephonyManager.getSimSerialNumber();

这个可以在上述环境下得到。

获取客户id,在gsm中是imsi号:

telephonyManager.getSubscriberId();

这个也能在商户环境得到。

有关TelephonyManager的API,详见:

http://developer.android.com/intl/zh-CN/reference/android/telephony/TelephonyManager.html

PDF格式創作    发送文章为PDF   

4 Comments to “在android系统中获取imei号和其他手机信息”

  1. By 小天狼星, 2010年01月6日 @ 13:15

    很遗憾,这个方法在1.6的模拟器里面不能用

  2. By snowolf819, 2010年01月22日 @ 20:37

    你好,我目前想获得手机的一些信息,搜索到你这篇文章,对我非常有帮助,但是现在遇到这样的问题,对方用的是G2(WCDMA),固件是1.6的,我用getLine1Number()这个方法获取不到手机号码,并且我用getPhoneType()这个方法返回的竟然是GSM的网络类型,非常奇怪。另外我还想获得如“中国移动”,“中国联通”服务商的名称,可是没发现哪个API是提供这个功能的,请问您知道吗?谢谢

  3. By Icever, 2011年09月7日 @ 09:23

    这个方法在1.6中确实不可用。

  • 技术分享 » android获取手机信息 — 2010年06月9日 @ 12:27

  • 这篇文章上的评论的 RSS feed TrackBack URI

    Leave a Reply