我计划将我的应用程序作为试用版提供给客户端,我希望它能在一段时间后自动卸载。我的应用不需要互联网连接。可以这样做吗?
谢谢!
答案 0 :(得分:5)
首先,自动卸载app不是好方法。尝试禁用所有功能。
通常,您需要以下算法:
1)启动你的应用程序时(例如在第一个活动中)获取SharedPreferences(http://developer.android.com/reference/android/content/SharedPreferences.html)并检查第一次启动日期的密钥(例如“firstStartDate”)。此外,读取键“lastStartDate”。
2)如果键“firstStartDate”不存在 - 它首次启动您的应用,获取当前日期并将其写为两个键的值,而不是继续正常的应用工作。
3)如果存在密钥“firstStartDate” - 获取当前日期并检查您的试用版是否已过期(在第一个开始日期和当前日期之间计算天数)。另外,在“lastStartDate”中检查当前日期是否大于或等于日期(保护设备上的日期不变)。如果当前日期小于“lastStartDate” - 它是日期黑客和用户移动时间。在这种情况下,您可以完成试用(参见第5点)。
4)如果试用期未过期 - 确定,继续正常工作并将当前日期写入“lastStartDate”。
5)如果已过期 - 显示用户对话框(http://developer.android.com/guide/topics/ui/dialogs.html)有关过期试用的参数cancellable = false和关闭活动点击对话框按钮。
我认为这比仅卸载应用程序要好得多。