我打算将我的应用程序作为试用版提供给客户,我希望它在一段时间后自动卸载。我的应用程序不需要互联网连接。这能做到吗?
谢谢!
最佳答案
首先,自动卸载应用不是好办法。尝试禁用所有功能。
一般需要以下算法:
1) 在启动您的应用程序时(例如在第一个 Activity 中)获取 SharedPreferences ( http://developer.android.com/reference/android/content/SharedPreferences.html ) 并检查带有首次启动日期的 key (例如“firstStartDate”)。此外,读取键“lastStartDate”。
2) 如果键“firstStartDate”不存在 - 它是您的应用程序的第一次启动,获取当前日期并将其写入两个键的值,然后继续应用程序的正常工作。
3) 如果键“firstStartDate”存在 - 获取当前日期并检查您的试用期是否已过期(计算第一个开始日期和当前日期之间的天数)。此外,检查当前日期是否大于或等于“lastStartDate”中的日期(防止设备上的日期更改)。如果当前日期小于“lastStartDate” - 这是日期 hack 和用户移动时间。在这种情况下,您可以完成试用(参见第 5 点)。
4) 如果试用期未过期 - OK,继续正常工作并将当前日期写入“lastStartDate”。
5) 如果过期 - 向用户显示有关参数 cancellable=false 的过期试用的对话框 ( http://developer.android.com/guide/topics/ui/dialogs.html ),并在单击对话框按钮时关闭 Activity 。
我认为这比仅仅卸载应用程序要好得多。
关于android - 应用程序是否可能在一段时间后自行卸载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17250077/