获取设备的IMEI码或/和Mac地址
我正在实施一种独特识别设备的方法。只有获取设备的IMEI码或/和Mac地址
设备无线上网的IMEI码 - MACADDRESS
两个需求也制造商+型号为完整的ID:
建筑师给我以下规格:
设备与WiFi + 3G。
我的问题是:
如何从设备中获取IMEI?
如何从设备获取制造商和型号? (我看到了一些关于Build class的常量,但不知道在哪里使用它们)
只有3G的Theres设备?
- 如何知道设备是否仅限wifi,wifi + 3G或3G只有存在?
此外,唯一标识符的建议可用。
PS:我已经可以通过WifiManager获取MacAddres了。
您可以使用TelephonyManager getDeviceID方法。这应该返回IMEI或MEID。编译信息你可以看到android.os.Build和android.os.Build.VERSION。另外,如果其对唯一标识您的应用程序安装,你可能要经历(和/或显示您的建筑师)的开发者博客文章上Identifying App Installations
- 如何获得IMEI可以在这个问题上找到:How to get the device's IMEI/ESN programmatically in android?;
- 制造商和模型可以从android.os.BUILD类检索。
- 理论上,是的,可能会有没有Wi-Fi但3G的设备。但我还没有看到。
- 如果
getSystemService(WIFI_SERVICE)
返回null
,那么没有Wi-Fi。
android.telephony.TelephonyManager.getDeviceId()让你 '的IMEI为GSM和MEID或ESN的CDMA手机'。
Build.MODEL是一个静态字段,所以你可以像这样使用它,只要你先导入了android.os.Build。
很可能。
你可以尝试调用Context.getSystemService(Context.WIFI_SERVICE)并查看它是否为null,尽管我认为即使没有wifi也可能服务仍然存在(在这种情况下,我希望检查无线网络返回DISABLED。)
这些问题一直困扰着Android开发了一会,见Is there a unique Android device ID?
的Android开发团队一直试图在自己的博客中直接解决这些问题:http://android-developers.blogspot.com/2011/03/identifying-app-installations.html
在回答你的最后问题:只要在查询SIM/MAC/Whatever时测试null,然后采取相应措施。据报道,有些情况下MAC会返回null;看到我的第一个链接。
你的问题满意了吗? – 2011-06-07 14:11:53
不完全。仍在寻找一个确定的解决方案。 – 2011-06-08 18:25:40
此答案将帮助您:http://stackoverflow.com/questions/1972381/how-to-programmatically-get-the-devices-imei-esn-in-android – 2011-09-17 08:00:56