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

来源:互联网 发布:网站seo推广 编辑:程序博客网 时间:2024/05/29 03:22
 
在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();

 

用WIFI的MAC地址,也是全球唯一,自己看看要不要用吧!我用这种方法了
public String getLocalMacAddress() {
                WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);
                WifiInfo info = wifi.getConnectionInfo();
                return info.getMacAddress();
        }
对了,模拟器返回null,并且还要在Manifest.xml里加个权限,<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />,否则异常