会话用户管理android

时间:2012-10-31 12:51:12

标签: android

我有一个应用程序,你必须像用户一样用你的密码登录。

这个应用程序需要是安全的,所以当他在一段确定的时间内(例如,5分钟)没有看到屏幕时,它需要注销用户。

问题在于,一旦用户登录,他就可以进行许多活动,而不仅仅是一次,我想知道Android中是否有办法知道用户是否可以在几次后退出分钟。

我正在考虑使用onInterceptTouchEvent(MotionEvent ev)方法,但问题在于,我是否必须在每个活动中使用此方法? ¿还有另一种在Android中管理它的更简单方法吗?

非常感谢!

2 个答案:

答案 0 :(得分:1)

1。实现此目的的一种方法是在用户登录应用程序时获取当前时间(使用System.currentTimeMillis())。我们将其保存在变量t1

2. 启动一项服务,该服务将监控/检查/执行以下内容:

2a。只要用户触摸您的任何活动,就会将t1的值设置为当前时间。

2b。持续获取当前时间(t2)并计算t1t2之间的时间间隔(即t2 - t1) 。如果此延时等于或大于5分钟,您可以拨打logOut()功能。

是的,您必须从每项活动通知后台服务用户在场。虽然 Carnal 提供的解决方案可以大大减少您实现这一目标的努力。

答案 1 :(得分:1)

您可以像这样创建一个Activity,而不是在每个Activity上实现此功能:

public class BaseActivity extends Activity

并在onInterceptTouchEvent中实施BaseActivity

然后,从所有其他Activities开始,您必须扩展BaseActivity

<强>更新 如果您想在整个屏幕中收听事件,则必须使用onTouch。这要求在Activity的每个xml文件中,您必须为xml的根视图提供idLinearlayoutRelativelayout,{{1} } 管他呢)。因此,为了让您的Framelayout从其他BaseActivity获取输入,您必须将根视图传递给它,如下所示:

Activities