Android开发中单用户登录的逻辑

原创 2016年06月01日 11:25:53

今天在程序中应产品的需求设计,程序只能单用户登录,其他设备正在登录则会被挤掉。

下面我把我做这部分的逻辑详细说明一下:


首先是当新用户第一次注册的时候,前台会把设备号和手机号给后台(设备号是每个手机本身的属性),然后当A用户登录C设备后,正常情况是通过点击程序中的退出按钮告诉后台该用户已经已经退出,但是如果A用户在登录情况下,直接把程序卸载了,这时候后台是不知道A用户的情况的,当A用户在次下载该程序并登录,同样的,登录的时候把手机号和设备号发给后台,后台检测这个手机号登录使用的设备号和他数据库里正在登录的做对比,发现是一样的,就把之前那个状态强行退出,这次登录的作为最新的登录情况。如果是A用户登录C设备,然后A用户在登录B设备,这时候C设备的情况分为两种:主动和被动,被动是:后台检测到设备号是不一样的,肯定是在多个地方登录了,后台做的处理是,它通过第三方的推送(后台是通过设备号,此时也就是把设备号作为了一个别名进行推送),推送给别名也就是设备号为C设备的手机,A用户在C设备上的广播接受者的onReceiver()方法里 接收到推送并进行处理(弹出框什么的),;;另一个情况主动:第三方推送在推送期间,手机还没接收到推送,A用户还要在C设备上操作其他接口,后台会给我们返回一个状态,比如是status ,我们根据这个状态去处理(比如弹出框)。


对于目前我们使用的推送:比如信鸽,通过信鸽推送一跳信息给用户,分为两种情况:用户用不用自定义通知栏;信鸽推送中用户需要在 Application中,用XGPushManager.setNotifactionCallback()方法,进行拦截,拦截的意思是,当后台通过信鸽推送消息时候,我们如果进行刚才调用XGPushManager.setNotifactionCallback()方法,拦截后,我们可以自定义通知栏显示的ui,然后在通过信鸽封装好的发送通知api进行发送,然后就在手机的通知栏里有了通知,此处必须要说明,是要用信鸽封装的通知api发送,不然,当用户在手机通知栏里接收到通知后,进行点击,或者删除等等,我们就在MessageReceiver 里面就检测不到用户的行为了,class MessageReceiver extends XGPushBaseReceiver{

 }

这个接收类里面都是回调的方法,例如:通知展示   反注册   点击通知    删除通知   注册通知

另一种情况是,我们不在application中拦截,就是不做任何操作,则信鸽就会自动发送到手机通知栏。


就目前的推送,只要不拦截,都是第三方推送直接发送到通知栏notify, 用户不用操作。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android客户端与服务器交互中的token

转载自:http://blog.csdn.net/watermusicyes/article/details/47016113 转载只是自己做一个笔记,没什么别的意思、致敬原作者。 ...

移动端(Android)登录逻辑实现

在实际开发中,我们经常会处理登录的相关逻辑,先上登录界面吧: 我想要做的效果是,输入用户名后监听弹出全删按钮,在键盘上点击下一步可从用户名到密码栏。 以下是界面布局文件: ...

实现单用户登录的原理和实践 java

实现单用户登录的原理和实践 java

多点登录限制,禁止单用户多点在线

多点登录限制,禁止单用户多点在线先说说需求: 用户A已经在电脑1登录的情况下,当用户A在电脑2登录时,会把电脑1的登录信息挤掉并提醒已在其他地方登录。(类似于QQ)本文章先说原理,实现是基于SSM框...

asp.net 单用户登录

可以通过SessionID和用户名来保证同一个用户不能同时登录的问题,下面程序模仿了QQ的登录,当登录后判断当前帐号是否已经登录,如果登录。则踢掉以前登录的用户。   1.通过Applicatio...

asp.net 单用户登录经典解决方案

这里指的单点,泛指在WEB服务端,一个账户同一时刻只能存在一个票据! 大家开发中可能都碰到的一个问题,怎么使同一个用户,在同一时间内只允许登录一次。 很多人都会想到在数据库中用一个标识字段,登录进...

win2003实现单用户远程登录

一般情况下,我们会觉得xp只能登录一个远程用户很不爽,每次一个用户登录就会把另一个用户踢掉,所以需要多用户都能使用远程桌面的情况下,使用windows2003是最简单的方法了。    但反过来呢,如果...
  • xelone
  • xelone
  • 2011年05月27日 16:52
  • 804

spring session 实现单用户多账号登录

spring session 实现单用户多账号登录 spring session 初始化官网有这样一句话: Multiple Browser Sessions - Spring Session sup...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android开发中单用户登录的逻辑
举报原因:
原因补充:

(最多只允许输入30个字)