2 u010046908 u010046908 于 2016.03.03 13:01 提问

Android如何实现类似微信登录,异地登录的实现(强制下线的操作)

Android如何实现类似微信登录,异地登录的实现(强制下线的操作)

3个回答

cst11041
cst11041   2016.03.03 16:42

我是用个推;个推有一个cid,这个cid是唯一的,当另一个手机登录的时候登录接口传给服务端的cid不等于上一次登录的接口,就像上一个cid的手机发送一个推送,这推送那边做个处理就可以了。
比如我的手机cid是123登录了没有退出登录时,另一部手机cid是456,这时服务端向cid是123的发送一个推送,根据推送的内容写个方法退出登录就可以了。

u010046908
u010046908 回复cst11041: 谢谢,描述太清楚![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/79.gif)
2 年多之前 回复
u010046908
u010046908 回复cst11041: 谢谢,描述太清楚![图片说明](http://forum.csdn.net/PointForum/ui/scripts/csdn/Plugin/001/face/79.gif)
2 年多之前 回复
cst11041
cst11041   2016.03.03 16:41

我是用个推;个推有一个cid,这个cid是唯一的,当另一个手机登录的时候登录接口传给服务端的cid不等于上一次登录的接口,就像上一个cid的手机发送一个推送,这推送那边做个处理就可以了。
比如我的手机cid是123登录了没有退出登录时,另一部手机cid是456,这时服务端向cid是123的发送一个推送,根据推送的内容写个方法退出登录就可以了。

xiao90622
xiao90622 你好,我这边也是再用个推来实现,。然后后台问我这边还需要传送什么数据过来。我这边有点不太清楚
一年多之前 回复
crazy1235
crazy1235   Ds   Rxr 2016.03.03 22:02

主要就是每个手机对应有一个唯一标识。当服务器检测到登录的账号有一个不一样的标志,表明是第二次在另外一个手机登录。此时可以通过推送的形式
在另一个手机上退出账号。
(维护一个长连接)

建议通过第三方推送来实现。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
android实现强制下线功能
我们可能都会遇见过下面这种情况,例如我们的QQ,当有其他的手机登录我们的账号之后,就会弹出一个对话框,意思就是“我们的账号在其他地方登录,您已被强制下线”。点击按钮之后,我们就会重新进入登录界面。那么这种强制下线的功能是如何实现的呢?其实非常的简单,就是一个广播。当我们的基类收到这个广播之后,点击对话框中的按钮。强制关闭所有的Activity。然后进入登录界面就可以了。先看一下今天的演示效果吧。
Android利用Jpush实现异地登陆下线
一、说明 客户端程序中使用了xUtils框架(进行UI,资源的绑定,以及访问网络) JPush客户端集成可参照:http://docs.jiguang.cn/jpush/client/Android/android_guide/ JPush服务器端集成参照:http://docs.jiguang.cn/jpush/server/3rd/java_sdk/ xUtils下载及使用:https://gi
强制下线通知实现
思路是我登录时获得一个账号的token,然后同时我收到一个后台的推送(每次登录都会收到),一旦收到这个推送我就去调检查token的接口,看一下是否和后台的当前账号的token一样,如果不一样就强制下线(不同设备登录),如果一样说明是这个账号在同一台设备上的登录,因为我比较的是获得的(设备唯一)和后台的(账号唯一)是否相同。 关于强制下线功能,就用BroadcastReceiver来实现:
实现全局弹出Dialog提醒异地登录功能
入职后不就,从做第一个项目,写第一个商业 APP 开始,就一直被一个问题困扰,即“异地登录提醒”。现在许多 APP 都要求只能一个设备登录,要求是,如果设备 A 已经登录了,设备 B 再登录,那就要给设备 A 的用户一个提醒,并强制其退出登录,必须重新登录。提醒用的 Dialog,是一个我写在 Activity 基类的一个不可取消的 Dialog,只给一个“确认”按钮,点击即退出登录,并跳转到登录
Android--Android中使用广播BroadcastReceiver进行用户强制下线功能
利用广播BroadcastReceiver实现登录强制下线功能在这里面登录界面里面的用户名和密码为默认的“admin””123456” 可以在LoginActivity里面进行修改,该例子只是简单的说明怎么样BroadcastReceiver进行强制性的下线。原理在应用程序中经常会遇到强制下线的情况,比如qq在别处登录,本机的你就被强制下线了。其实强制下线的原理很简单,就是弹出一个对话框让你没办法
android Service+EventBus实现异地登录提示
我是用retrofit做的网络接口,当异地登录时,errorbody信息是固定数据(不能用公司的,随便换个等效的){"error_state":1,"error_msg":"异地登录"}然后我想是每个activity都有可能弹出数据,那么怎么保证每个都会弹出呢?难道每个接口都写一次?太麻烦了。。。。 于是:在返回数据进行处理:if(response.code()!=200 && response.
实现异地登录后当前登录被顶掉的功能(类似QQ异地登录) 退出当前App
项目时计时练习的东西,所以网页登录时候要求我们App也退出,防止两个程序同时跑时间,所以。。。。 实现起来很简单,首先是考虑是如何退出app,网上有很多种,我是通过将栈底的activity 设置为singleTask 然后通过intent跳转,通过onnewIntent()接收到intent 根据tag退出,这样栈里所有activity都会被干掉,但是注意里面的子线程,这些线程还是会继续跑的,所
实现单点登录并强制对方下线
前些天做了一个网站,客户的要求是实现单点登录,并如果有人在用这个号码登录就强制第一个人下线。自己以前看到过这个例子,是将用户登录的信息存储在application之中,登录的时候判断是否由此信息,来实现单点登录。但是这有一个弊端,就是用户必须正常退出(其实应该还有别的方法,只是我暂时还没有想到),下次才能正常登录。但是不可能所有的用户都会想到去点击退出,由此就会有好多的用户登录之后,如果不是正常退
Android账号被强制下线(单点登陆,项目必用)
前言 其实所说的被挤下线功能,就是一个账号在A客户端保持登陆状态,然后又在B客户端进行了登陆操作,那么A客户端就会被顶下线 很多伙伴在开发自己公司产品的时候,一般都会考虑用户账号安全,或者用户账号功能限制等问题,这时候就要考虑到单点登陆的功能 使用 App如何知道该账户已经在其他设备上登陆了呢?有三种实现方式 api请求中后台返回特定的code。缺点是需要下次请求才知道...
ios --实现账号在别的设备上登录,当前设备下线。
方法一:(后台接口做判断)(1)登录接口,在登录成功之后,后台会返回一个loginToken值。(2)登录成功之后,请求的任何接口都要传这个loginToken值。(3)不管是当前手机重新登录,还是用另一个设备登录,此时接口会返回一个新的loginToken值,服务器保存最新的loginToken。(4)每次请求接口的时候,服务器会根据传过来的loginToken与最新的loginToken比较,...