【发布时间】:2017-10-16 04:03:39
【问题描述】:
我有一个电子商务应用,每个活动都会有一个退出按钮。
我在想,为了退出,我将传递登录用户的会话 ID 以进行退出。但我无法弄清楚如何让所有活动的会话 ID 保持活跃。谁能指导我。提前致谢。
【问题讨论】:
标签: android session android-activity
我有一个电子商务应用,每个活动都会有一个退出按钮。
我在想,为了退出,我将传递登录用户的会话 ID 以进行退出。但我无法弄清楚如何让所有活动的会话 ID 保持活跃。谁能指导我。提前致谢。
【问题讨论】:
标签: android session android-activity
您可以通过创建一个 SignOutActivity 类并使用 Intent 将会话 ID 传递给 SingOutActivity 类来实现这一点。
Intent intent = new Intent(getBaseContext(), SignoutActivity.class);
intent.putExtra("SESSION_ID", sessionId);
startActivity(intent);
在 SignOutActivity 中访问意图,在此活动中您可以从应用中注销用户。
String s = getIntent().getStringExtra("EXTRA_SESSION_ID");
【讨论】:
在每个活动上使用不同的退出按钮是一种糟糕的设计实践。 Session id 也应该是一个全局变量。
【讨论】:
您可以通过两种方式做到这一点。
首先是共享偏好:当用户登录时,在共享偏好中设置会话 ID 并检查它的值或在每个活动中。如果设置正确,则允许用户进一步处理,否则自动退出。如果用户点击退出按钮取消设置共享偏好值并将用户重定向到登录屏幕
第二种方法是使用保持会话的全局数据类。当用户登录在数据类中设置会话 id 并在使用时将其值传递给额外的意图时,将一个活动转到另一个活动并与全局类值匹配,如果一切正常,则允许用户执行所有任务。当用户点击退出数据类中未设置的会话ID时。
【讨论】: