此时,我的应用程序看起来如下所示:SplashScreen
-> LogInScreen
-> TextActivity
在LogInScreen中,我检查用户是否仍处于活动状态(即已登录)或具有有效会话,如果没有问题,则开始下一个Activity。
现在我想把它改成:SplashScreen
-> TextActivity
当用户在TextActivity
中工作时。我想检查一个Service
,如果用户必须再次登录(也许如果他没有登录了一段时间)。
使用Service
是正确的方法吗?如果用户必须再次登录,我可以关闭所有Activity
并启动LogInScreen
吗?
我在文档中读到,即使被调用的Activity被销毁,Service
仍在进行中。但是我不能从服务处退东西,对吗?
我想做的事是多么的清晰。
亲切的问候!
2条答案
按热度按时间nukf8bse1#
我不建议将服务作为后台任务运行,这几乎不会消耗内存。
我假设您的Login部件向服务器发送请求以获取凭据,然后将您的用户登录到应用程序。所以基本上我假设你有一个服务器,你正在发送请求并从服务器获得响应。
要检查用户是否具有有效的会话,您只需检查服务器响应中的会话是否已过期。
qni6mghb2#
使用共享首选项,这将一劳永逸地解决您的问题。
首先,如果您使用服务器身份验证进行用户登录,则请求服务器进行身份验证,并使用其ID或密码返回结果,并设置为共享首选项,下次访问应用程序时,检查是否为共享首选项设置了值,如果设置了,则开始下一个活动。
就是这样。
只有一次登录将在那里。