我的应用程序中有几个软件包,用户可以根据不同的价格选择每个软件包。在服务器端,我存储客户端的一些信息,如设备ID,Android Id等。
根据用户选择的软件包,例如用户选择了2小时计划,服务器发送给我过期时间,并将其存储在本地数据库中。
问题是检查试用期到期的最佳方法是什么?如果用户在12:00购买2小时计划,则到期时间为14:00。我将14:00存储在数据库中,每次应用程序启动时,我都会检查数据库。但问题是,如果我们假设用户正在使用应用程序如何关闭应用程序或提示用户该计划已过期?我如何理解手机的时间是否被用户更改?
使用服务的方式最好吗?你有什么建议吗?
============== 的更新
我忘了说的一点是,由于我们办公室的一些限制,我只能访问我正在设计的三个活动,我不能要求其他正在开展此项目的开发人员,检查并检查那或使用这个变量。但是因为我正在开展主要活动,所以此活动是唯一可以访问数据库的活动。
答案 0 :(得分:1)
您应该在SharedPreference
中保留一个标记,如果设置了标记,您可以显示过期消息而不是正常活动。一旦期限到期,您可以使用AlarmManager
更新标记。
以下是AlarmManager和SharedPreferences上的一些教程。
答案 1 :(得分:0)
最简单,最好的方法是实现BackupSharedPreferences。
即使已卸载并重新安装该应用,也会保留首选项。
只需将安装日期保存为首选项即可开始使用。
以下是理论:http://developer.android.com/reference/android/app/backup/SharedPreferencesBackupHelper.html
以下是示例: Android SharedPreferences Backup Not Working
:)皮特