手机端解决被迫下线的方案

手机端被迫下线实现方案

方案一(现用,具体看嘀嗒应用源码):

后台:定义一个字段(useid),登陆时把这个字段返回给用户,

前台:BacrActivity里定义一个线程,每个十秒请求一次,请求到返回的数值跟本地比较,不一样是直接跳到登陆界面,从而实现异地登录被迫下线功能.

注意事项:第一次不匹配,被迫下线后前台已存的页面要清空,应用到activity管理

优点:实现简单,后台修改简单,前台只需一个线程就ok

缺点:每十秒请求一次数据,当用户群小时还行,当用户群多时,服务器压力大.同时每十秒刷新也给用户带来了不必要的流量浪费.

应用场景:应用要求不太严格,用户量少的客户端.

 

 

方案二利用广播接收器,A用户登陆一个ID1,B用户再登陆ID1,利用推送消息机制,服务器给A发一个消息,A接收到广播后,执行下线操作.

具体实现过程:(利用到推送服务)

后台当一个ID已经登录,再次登录时,通过服务器向第一个登录的用户发送消息,

前台:集成第三方推送(百度.信鸽,极光),通过自定义广播接收器,首先把本个应用推送默认为不可设置且为默认接收,当接受广播消息进行验证字段或标签来执行是否下线,如果是直接提示用户”该账号应经在其他地方登陆,请重新登陆!


注意事项:清楚推送服务的类型,避免造成不必要的麻烦.前台应用自定义广播接收器,且设置为不可屏蔽.被迫下线及时清空Activity.

缺点:因为不同的第三方推送有不同的服务器类型,一种是用户关闭推送消息,是关闭服务器,不在推送消息,一种是关闭后只是不在提示,但依据能接收,所以用第三方推送时要了解清楚.一旦屏蔽消息无法接收后,就不能实现被迫下线功能.

优点:对服务器压力小,对用户来说,减少请求次数,减少不必要的流量和电量浪费.

应用场景:使用人数多,需要推送机制服务的客户端

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值