1

我打算将我的应用程序作为试用版提供给客户,并希望它在一段时间后自动卸载。我的应用不需要互联网连接。这可以做到吗?

谢谢!

4

1 回答 1

5

首先,自动卸载应用程序并不是一个好办法。尝试禁用所有功能。

通常,您需要以下算法:

1) 在启动您的应用程序时(例如在第一个活动中)获取 SharedPreferences(http://developer.android.com/reference/android/content/SharedPreferences.html)并检查带有首次启动日期的密钥(例如“firstStartDate” )。此外,读取键“lastStartDate”。

2)如果键“firstStartDate”不存在 - 它是您的应用程序的第一次启动,获取当前日期并将其写入两个键的值,然后继续应用程序的正常工作。

3) 如果键“firstStartDate”存在 - 获取当前日期并检查您的试用是否未过期(计算第一次开始和当前日期之间的天数)。此外,检查当前日期是否大于或等于“lastStartDate”中的日期(防止设备上的日期更改)。如果当前日期小于“lastStartDate” - 这是日期黑客和用户移动时间。在这种情况下,您可以完成试用(参见第 5 点)。

4) 如果试用期未过期 - OK,继续正常工作并将当前日期写入“lastStartDate”。

5) 如果过期 - 向用户对话框 ( http://developer.android.com/guide/topics/ui/dialogs.html ) 显示有关过期试用的参数 cancellable=false 并在单击对话框按钮时关闭活动。

我认为这比仅仅卸载应用程序要好得多。

于 2013-06-22T11:19:47.320 回答