我即将将付费应用发布到android市场。该应用程序使用LVL(应用程序许可)。为了验证许可证,我必须提供设备的唯一ID。问题在于,某些Android设备(由于已知问题)在调用时具有相同的“唯一” ID:
Secure.getString(getContentResolver(), Secure.ANDROID_ID);
我也可以使用TelephonyManager类,但是该应用程序还针对平板电脑设备,因此我不能依靠它。
如果你们中有人使用过LVL,请让我知道您在创建LicenseChecker()对象时如何获得设备的ID。我只是想了解如果两个具有相同设备ID的用户尝试购买该应用程序会发生什么。
最佳答案
具有相同ID的两台设备只会向其他设备免费提供该应用,但是LVL仍可与Google ID一起使用。由于LVL使用Google的身份验证,因此极为罕见,您永远不会看到拥有相同ID和相同Google ID的人购买同一应用程序。特别是因为他们已经拥有它!
如果这样做没有帮助,请尝试以下操作:
http://developer.android.com/guide/publishing/licensing.html状态:
声明一个变量以保存设备标识符并以任何需要的方式为其生成值。例如,LVL中包含的示例应用程序查询android.Settings.Secure.ANDROID_ID的系统设置,这对于每个设备都是唯一的。
请注意,根据您使用的API,您的应用程序可能需要请求其他权限才能获取特定于设备的信息。例如,要查询TelephonyManager以获得设备IMEI或相关数据,应用程序还需要在 list 中请求android.permission.READ_PHONE_STATE权限。
在请求新权限以获取设备特定信息以供您在Obfuscator中使用的唯一目的之前,请考虑这样做可能会影响您的应用程序或其对Android Market的过滤(因为某些权限可能导致SDK生成工具添加关联的)。