我看到市场上有一些应用程序提供免费版本和“许可证附加组件”,您可以使用带有限功能的免费版本,或购买 apk
许可证,该许可证仅作为原本的“免费”版本的许可证密钥,以解锁隐藏在“免费”版本中的额外功能。
有人可以给我指出如何实现这一点的示例吗?
PackageManager
的getInstalledPackages()
或getInstalledApplications()
来简单地检查是否安装了许可证包。
或者,如果您想要更复杂的内容,可以在清单中为主应用程序和许可证apk指定相同的用户id。这意味着两个应用程序都可以访问您的数据(共享首选项、SQLite DB等)。然后,只需要运行一次许可证应用程序;它可以在共享数据中存储一个值,指示应启用扩展功能。主应用程序只需检查此标志并相应地更改其行为。
第二种方法的优点是,运行一次许可证应用程序后可以将其卸载,并且主应用程序将继续允许扩展功能。