有没有办法通过使用IMEI来锁定我的Android应用程序。 我想这样做是因为我不想让我的应用用户通过将APK发送到其他设备来共享它。
答案 0 :(得分:3)
apk本身无法锁定付费用户,直到JellyBean。从JellyBean开始,付费应用程序将被加密并存储在手机上。
以下是Screencast应用似乎使用的解决方案。购买时,他们会将您的身份存储在服务器中。每次打开应用程序时,他们都会再次验证您的身份,然后再继续。问题是,当然,即使注册用户没有连接到网络也不能使用它。
答案 1 :(得分:1)
public String getSimSerialNumber(){
TelephonyManager tm = (TelephonyManager)this.getActivity().getSystemService(this.getActivity().TELEPHONY_SERVICE);
String number = tm.getSimSerialNumber();
return number;
}
这可能对您有所帮助。 您也可以使用Android's TelephonyManager获取其他数据。
答案 2 :(得分:1)
据我所知,您的应用包无法自行修改。因此,使用任何唯一ID将其“锁定”到当前安装是没有意义的,没有一些外部服务器来验证锁定。 否则,用户可以再次安装,应用程序将读取IMEI并锁定。用户会清除“应用数据”,您的应用认为这是新安装。
如果您事先了解IMEI(例如从注册表中获知),您可以为每个用户编译个人版本的应用程序,并在内部对IMEI进行硬编码并在开始时进行检查。
答案 3 :(得分:1)
请阅读此博文。 IMEI不是识别某个设备的安全方式。
http://android-developers.blogspot.de/2011/03/identifying-app-installations.html
不幸的是谷歌没有为这个问题展示“最佳实践”方式......