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开发之登录&注册UI

懒惰,只是为了更好的懒惰!
  • zz1175854992
  • zz1175854992
  • 2015年02月27日 13:59
  • 1873

Android实现注册登录头像上传等功能常规开发(Android端,服务器端开发实例)

Android实现注册登录头像上传等功能常规开发(Android端,服务器端开发实例) 标签: 注册登录Android开发servlet 2017-04-18 20:34 454人阅读 评...
  • w690333243
  • w690333243
  • 2017年06月06日 10:00
  • 2029

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

实现单用户登录的原理和实践 java
  • tianluke1234
  • tianluke1234
  • 2017年07月13日 12:02
  • 833

asp.net 单用户登录(系统中只允许同一账户的一个存在--排它多处登录)

               //创建一个登录码,更新数据表并写入cookie                string _UserCurrentLoginCode = Guid.NewGuid()...
  • wyqlxy
  • wyqlxy
  • 2010年11月15日 11:56
  • 2157

Android 实现简单的登陆注册功能(SharedPreferences和SQLite)

最近刚好做了一个Android的登录注册界面,将数据利用SharedPreferences或者SQLite绑定到Android程序中,实现简单的登陆注册功能,本文未涉及到与服务器的交流。 首先,对于登...
  • xiaoxun2802
  • xiaoxun2802
  • 2017年07月10日 08:57
  • 844

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

今天在程序中应产品的需求设计,程序只能单用户登录,其他设备正在登录则会被挤掉。 下面我把我做这部分的逻辑详细说明一下: 首先是新用户第一次注册后,后台会把这个手机号(账号)生成一个devicenum发...
  • qice675563721
  • qice675563721
  • 2016年06月01日 11:25
  • 1069

在windows2003操作系统下实现单用户远程登录

 远程桌面是windows操作系统中一个很方便的功能,管理测试机资产、异地排除故障等,都很快捷。在windows xp sp2模式下,一般默认是单用户登录,也就是当A用户远程一台机器时,B用户在远程到...
  • wyp_810618
  • wyp_810618
  • 2009年10月29日 09:25
  • 3264

单用户登陆、在线用户统计Java

登陆成功代码: MySession.getInstance().deleteSession(user.getPhone(),session); MySession.getInstance().ad...
  • torrytang
  • torrytang
  • 2015年10月09日 09:59
  • 635

Android四大组件之广播注册的两种方式

广播接收者可以自由地对自己感兴趣的广播进行注册,当有相应的广播发出时,广播接收者就能够收到该广播,并在内部处理相应的逻辑. 注册广播的方式有两种: 1.动态注册,即在代码中注册 2.静态注册,即...
  • caidie_huang
  • caidie_huang
  • 2016年10月30日 14:16
  • 402

07注册界面和注册界面的逻辑

注册界面的UI和登录界面的类似,如下图: 代码如下:
  • chenfuduo_loveit
  • chenfuduo_loveit
  • 2014年12月01日 14:59
  • 674
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android开发中单用户登录的逻辑
举报原因:
原因补充:

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