在我的应用中,我想让一个用户一次登录。因此,当他们注销时,我正在进行API调用以使用户也在我的服务器中脱机。
但是如果用户已登录并删除应用程序数据或卸载应用程序,我该如何通知我的服务器。如何监听卸载事件并执行一些卸载前任务。
因为如果我不能这样做,下次当同一个用户安装应用程序并尝试登录时,他将无法这样做,因为他在我的服务器上的当前状态将会脱机,因为注销永远不会发生。
由于
答案 0 :(得分:1)
如何收听卸载事件并执行一些预卸载任务。
你没有。
因为他在我的服务器上的当前状态将会脱机,因为注销永远不会发生
然后您的问题出现在您的服务器上。您的服务器需要实现不活动超时,如果用户在一段时间内未被看到,则会将状态恢复为“已注销”。还需要有一些手段供用户重新认证并重新连接到现有的“登录”状态,因为用户可能有多个设备(例如,手机和平板电脑)并且想要使用你的应用和服务器都在他们两个。
答案 1 :(得分:0)
这是我最好的主意。它可能会解决您的问题,但不是以您想要的特定方式:
向您的应用添加服务,该服务从设备启动开始。使用此服务的onCreate
将用户登录名发送到您的数据库,并在其onDestroy
中发送注销。这将导致您解释的行为几乎相同,只要手机完全关闭,就会将用户注销。
(我不是说任何这个都是个好主意,但如果我不得不这样做,我就会这样做。)