假设有A和B共用同一个账号使用某一个软件,当A已经登陆上时,B再进行登陆,那么A就会强制掉线,回到登陆界面。
要解决这个问题,首先就是要能够管理所有活动,当强制掉线时,关闭所有的活动,然后再打开登陆界面。
所以首先要设计一个类来管理所有的活动,然后创建一个基类(BaseActivity),在基类(BaseActivity)中对相应的添加和删除活动进行操作。可以参考https://blog.csdn.net/myCSDN1997/article/details/83689394 中的第二点。
当B登陆该软件时,B的客户端发送一条消息给服务端表示B已经登陆了,此时服务端将B登陆的消息发送给A,A就要强制下线,这时可以借助广播进行处理,具体操作如下:
1.首先该软件中所有的活动要继承那个基类(BaseActivity),这样无论是在哪个活动的界面都能够做到强制下线,且只需要在基类(BaseActivity)中处理接收到广播的操作。在基类(BaseActivity)的onResume()中判断是否收到B要登陆的消息,如果收到了,那么就发出一条广播表示将要强制掉线。广播的发送看 https://blog.csdn.net/myCSDN1997/ar