【发布时间】:2017-07-26 21:11:56
【问题描述】:
我有一个 Android 应用程序,它通过 REST API 网络服务与服务器通信。我需要在 android 应用程序中应用会话管理。在服务器端,如果有 15 分钟不活动,用户将被注销并生成新的身份验证令牌。我想在我的 android 应用程序中进行会话管理。我正在使用Volley 进行网络调用。
这样做的原因:
我想应用会话管理,因为在 15 分钟不活动后,服务器将生成一个新的令牌密钥并使会话无效。那么android应用就需要有服务器生成的新token key来进行认证和成功的web服务调用。
到目前为止我在 Android 中的会话管理:
我的MainActivity 代码:
public class MainActivity extends AppCompatActivity {
public static final long DISCONNECT_TIMEOUT = 600000;// 15 min
private Handler disconnectHandler = new Handler() {
public void handleMessage(Message msg) {
}
};
private Runnable disconnectCallback = new Runnable() {
@Override
public void run() {
// Perform any required operation for log out
Intent intent = new Intent(MainActivity.this, SecondActivity.class);
startActivity(intent);
}
};
public void resetDisconnectTimer() {
disconnectHandler.removeCallbacks(disconnectCallback);
disconnectHandler.postDelayed(disconnectCallback, DISCONNECT_TIMEOUT);
}
public void stopDisconnectTimer() {
disconnectHandler.removeCallbacks(disconnectCallback);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
@Override
public void onUserInteraction() {
resetDisconnectTimer();
}
@Override
public void onResume() {
super.onResume();
resetDisconnectTimer();
}
@Override
public void onStop() {
super.onStop();
stopDisconnectTimer();
}
}
如何检查会话是否在服务器端超时或如何在 15 分钟不活动后注销用户。
【问题讨论】:
标签: android