有没有办法通过使用IMEI号锁定我的Android应用程序

时间:2012-07-18 12:40:19

标签: android

  

可能重复:
  Device IMEI locking for tablets

有没有办法通过使用IMEI来锁定我的Android应用程序。 我想这样做是因为我不想让我的应用用户通过将APK发送到其他设备来共享它。

4 个答案:

答案 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

  • 仅限WIFI设备无法使用IMEI
  • 重置后,IMEI保持不变。所以出售设备是个问题
  • 有时,查询IMEI的功能会返回垃圾箱
  • 您的应用需要额外的权限(READ_PHONE_STATE)

不幸的是谷歌没有为这个问题展示“最佳实践”方式......