安卓 - 计算用户未使用应用的时间长度

3
有没有办法查找应用程序自上次使用以来关闭的时间?我正在编写一款应用程序,根据用户多久没有使用该应用程序来操作数据。例如:如果用户每小时不访问该应用程序,则称为“分数”的数据会减少10个。因此,如果用户已经两个小时没有打开应用程序,“分数”将减少20。

所以我想知道是否有可能,并且如果是,我应该如何实现它呢?

谢谢!


2
你能否在用户关闭应用程序时存储一个时间戳,以便在下次打开应用程序时与当前时间进行比较? - Alfie
你如何定义“不使用应用程序”?在主Activity上按返回键?还是按下Home键?或者杀死进程? - shhp
@Alfie 好主意,我会尝试的。 - chique
@shhp 我会说当用户关闭应用程序(按主页键/使用其他应用程序/返回主屏幕...),基本上“不使用应用程序”将是任何使应用程序消失的东西。 - chique
1个回答

1

在你的onPause中将系统时间存储在你的SharedPreferences中:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
prefs.edit().putLong("last_used",System.currentTimeMillis()).commit();

在您的onResume中读取值"last_used"并进行计算:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(this);
long lastTime = prefs.getLong("last_used");
long currentTime = System.currentTimeMillis();

//Now do the calculations as you like

谢谢您的建议,我会尝试并回报结果! - chique

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接