难题:识别独立安卓设备
今天碰巧朋友问到我怎么识别独立的安卓手机,就花了一些时间琢磨了一下。 其实这个问题可以秒答,就是IMEI。 TelephonyManager.getDeviceId(); 这需要一个权限: <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 问题如果这么简单就好了,问题在于: 平板等其他设备,无SIM卡,因此无Telephony模块。 有些设备恢复出厂设置的操作会清空IMEI (水货硬解通常会导致这个结果) 参考这个硬解技术贴 参考这个恢复出厂设置不慎的操作案例 我国许多山寨手机厂商偷懒,刷机不改IMEI,所以IMEI都是一样的 因此其实问题从这里才开始。网上能够搜索到的解决方案有以下几点: - WIFI MAC 一个方案是优先采用IMEI,当IMEI相同时,再比较WIFI的MAC地址。但如果手机没有WIFI功能或者WIFI功能没有开启(飞行模式),则无法获取到MAC地址。更加让人惆怅的是,我国大山寨厂商实在是懒透了,无线网卡的MAC地址居然也不修改,不少自刷机的也是这病情(例如这个,...