我正在构建一个具有登录和注销选项的Android应用程序。如果用户已登录并且未使用(或保持闲置)一段时间(比如10分钟),如何让应用程序返回登录屏幕?另外,如何检查多次登录?请注意我的应用程序使用外部数据库(mysql)。我是用PHP代码做的。另外,如何从mysql检查多个登录(我有多个用户)并允许每个用户登录?
这是我的身份验证代码:
try
{
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://10.0.2.2/user_validate.php");
HttpResponse response = httpclient.execute(httppost);
HttpEntity entity = response.getEntity();
InputStream inputStream = entity.getContent();
byte[] data = new byte[256];
buffer = new StringBuffer();
int len = 0;
while (-1 != (len = inputStream.read(data)) )
{
buffer.append(new String(data, 0, len));
}
inputStream.close();
}
catch (Exception e)
{
Toast.makeText(Login.this, "error"+e.toString(), Toast.LENGTH_LONG).show();
}
if(buffer.charAt(0)=='Y')
{
Intent intent = new Intent(getApplicationContext(),
Home.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
finish();
startActivity(intent);
}
答案 0 :(得分:2)
在应用程序或服务器上,您要存储上次成功完成的用户操作的时间戳(需要登录凭据)。
然后针对该时间戳进行测试,以查看当前请求是否大于或小于10分钟阈值。如果在上次成功的时间戳之后超过10分钟,那么您需要让用户再次登录。