我正在开发一个Android项目来控制用户访问。我使用IMEI号码就像用户登录一样,因为我需要用户只能使用一台设备才能访问,但我担心IMEI克隆。我想要实现一个启动的手机控制,以确保IMEI是原创的 是否有可能让IMEI更换后的Android手机无根?
答案 0 :(得分:0)
我认为您可以使用设备的MAC地址作为唯一标识符。使用以下代码获取MAC地址:
WifiManager manager = (WifiManager) getSystemService(Context.WIFI_SERVICE);
WifiInfo info = manager.getConnectionInfo();
String uniqueId = info.getMacAddress();
不要忘记将此权限添加到Manifest:
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
答案 1 :(得分:0)
您还可以使用Android设备唯一ID:
import android.provider.Settings.Secure;
private String android_id = Secure.getString(getContext().getContentResolver(),
Secure.ANDROID_ID);
在这篇博客中有一个很好的解释
http://android-developers.blogspot.in/2011/03/identifying-app-installations.html
答案 2 :(得分:0)
是的,有可能。大多数基于联发科技的Android手机(不包括来自诺基亚/ HMD的Android手机)都可以通过*#*#3646633#*#*
(*#*#engmode#*#*
)或类似的密码访问“工程”菜单,并且该菜单可在系统/电话环境中使用,并且具有特殊的RIL访问,允许输入AT命令而无需生根。而且联发科技的芯片组以其AT+EGMR
命令而闻名(或者,我应该说臭名昭著),该命令除其他功能外,还允许IMEI修改。
尽管实际上某些OEM型号确实甚至需要工程菜单也明确要求具有root权限,但所有这些操作都无需植根智能手机本身即可完成。