Java 放大身份验证事件在android中不起作用

Java 放大身份验证事件在android中不起作用,java,android,amazon-cognito,aws-amplify,Java,Android,Amazon Cognito,Aws Amplify,我正在开发一个使用AWS Amplify库认证的应用程序。 我试图通过查看Amplify的auth事件来检查登录状态,但是它 不起作用。我试图用logcat进行验证,但它只显示 取回 Amplify.Auth.fetchAuthSession 结果->Log.iAmplifyQuickstart、result.toString、, 错误->Log.eAmplifyQuickstart,error.toString ; 放大.Hub.subscribebhubchannel.AUTH,hubEve

我正在开发一个使用AWS Amplify库认证的应用程序。 我试图通过查看Amplify的auth事件来检查登录状态,但是它 不起作用。我试图用logcat进行验证,但它只显示 取回

Amplify.Auth.fetchAuthSession 结果->Log.iAmplifyQuickstart、result.toString、, 错误->Log.eAmplifyQuickstart,error.toString ; 放大.Hub.subscribebhubchannel.AUTH,hubEvent->{ 如果hubEvent.getName.EqualInitializationStatus.Successed.toString{ Log.iAuthQuickstart,身份验证成功初始化; }否则,如果hubEvent.getName.EqualInitializationStatus.FAILED.toString{ Log.iAuthQuickstart,身份验证失败; }否则{ 切换AuthChannelEventName.valueOfhubEvent.getName{ 签署的案例: Log.iAuthQuickstart,Auth刚刚登录。; 打破 已注销的案例: Log.iAuthQuickstart,Auth刚刚注销。; 打破 案例会话已过期: Log.iAuthQuickstart,验证会话刚刚过期。; 打破 违约: Log.wAuthQuickstart,未处理的身份验证事件:+AuthChannelEventName.valueOfhubEvent.getName; 打破 } } };
我成功处理这个问题的一个方法是传递错误lambda 对errorAuthenticationHandle函数的引用如下:

放大.Auth.signini.userName、密码、, 结果->Log.iAuthQuickstart,result.isSignInComplete? 登录成功:登录未完成, 此::errorAuthenticationHandle ; 私有无效错误AuthenticationHandleauthException错误{ Log.eAmplifyQuickstart,error.toString; 开关getErrorNumbererror{ //服务器需要重置密码 案例重置: //一些代码 打破 案例失败: //一些代码 打破 } }
getErrorNumber是导出错误代码Number的简单正则表达式函数,但它不是amplify Updates的最稳定解决方案。这里有一些工作正在进行,以简化auth中的错误处理。参考: