android - 应用程序是否可能在一段时间后自行卸载?

标签 android

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

谢谢!

最佳答案

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

一般需要以下算法:

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/

相关文章:

java - Dagger 单例每次都创建新实例

java - 井字游戏中的 Android Java Minimax 实现

Android Eclipse 插件 : Instrumentation Test Runner not specified

android - 启动模式和 Intent.setFlag

android - 将自定义类传递给 Fragment

android - 如何在 Intellij IDEA 中运行 Proguard

java - 用于布局的 Android xml 选择器

android - 当我更改 Android 应用程序语言时,菜单语言不会改变

android - Json 数据未加载到 fragment 中?

android - 如何从小部件启动在不同包中定义的 Activity ?