如何创建可下载的许可证密钥,并在Android上进行检查

时间:2010-09-10 15:17:47

标签: android package copy-protection apk license-key

我确信这是相当基本的,但我不知道要搜索什么来获得简明的教程。我想创建一个应用程序,并在Android Market上免费下载。然后,我想创建一个或多个应用程序,这些应用程序只是在免费应用程序上打开某些功能的许可证密钥。免费应用程序检查付费应用程序是否存在于设备上的最佳方式是什么?是否有一种简单的方法来检查包名称,还是我需要在付费应用中创建内容提供商,免费应用可以调用该内容提供商来检查有效性?

或者可能存在一些全局内存空间(例如应用程序中的首选项),所有应用程序都可以读/写。

我知道一个可行的解决方案,并且我可以轻松实现 - 让每个付费应用在首次启动时调用Web服务并注册该手机的IMEI。这可行,但需要访问互联网,这对我的应用程序来说可能或不方便。

与大多数Android问题一样 - 不止一种方法可以给猫皮肤涂抹。我正在寻找你们认为最好(也是最安全)的方法。

1 个答案:

答案 0 :(得分:1)

一种解决方案基本上可以测试您的“许可证”应用程序是否仍安装在手机上。然后,即使用户更换手机,他仍然可以使用他的谷歌帐户安装许可证应用程序。

您可以使用以下代码获取已安装应用程序的列表:

List<ApplicationInfo> list = context.getPackageManager().getInstalledApplications(PackageManager.GET_META_DATA);

然后只需找到一个ApplicationInfo,其中packageName成员对应于您的许可证应用程序。