Android过渡页验证用户是否在其他地方(PC或者平板)进行过密码修改的问题

在做登录时,各位是否经常做自动登录,这是一个非常友好的操作,不过也容易出现问题,就是如果用户在其他地方进行了密码修改,而你如果是使用的SharedPreferences来进行用户信息存值的话,尤其是你这里没有进行网络判断,直接进行的是看用户是否有选择下次自动登录的话,很容易就会直接跳过验证,这样就容易出现漏洞,那么这里你就需要去进行网络判断

如下图


进行登录判断,确定用户是否进行过密码修改,但是这里有一个很容易进去的坑,是什么呢,就是onResume方法的使用,我们大部分会在这里面用handler进行3秒跳转,如这样:


这是没有问题的,但是如果在这里的话,你会出现一个问题,因为你需要异步请求网络参数,那么你的onResume方法就会在你的网络请求方法前执行,那么你就拿不到用户是否密码正确或者错误。(PS:自己写的网络请求类,可能比较渣...)

这样你的请求就会出现

 java.lang.RuntimeException: Unable to start activity ComponentInfo{com.yuanda.activity.ydwy_bussiness_college/com.yuanda.activity.ydwy_bussiness_college.activity.GuideActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'boolean java.lang.String.equals(java.lang.Object)' on a null object reference 

这个错误,比如你在其中去判断了code的值,那么久会为空。

解决的方案也很简单,把你的handler方法写出了,注释掉onResume,然后在你的网络请求类里进行跳转的操作,如果判断后 用户密码有进行修改了,那么久可以直接跳转到登录界面,提示用户登录超时就好了。

(PS:小白记坑日记.....)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值