我很难通过this sample在Android Studio中注册Cognito并登录我的应用。当我尝试通过模拟器登录时,该应用程序工作几秒钟,然后显示一条错误消息:“无法执行HTTP请求:无法解析主机'cognito-idp.us-east-1.amazonaws.com' :没有与主机名关联的地址“。同样的错误是控制台中出现的唯一错误。我已经看到了类似的问题并尝试了一些解决方案,例如检查以确保我的应用具有权限android.permission.INTERNET
和android.permission.ACCESS_NETWORK_STATE
,但错误仍然存在。它似乎也不是一个网络问题。我已更新到最新版本的Android SDK以及AWS SDK,问题仍然存在。
我目前有一个Cognito用户池设置,可以在我的应用程序的iOS版本上正常登录。按照示例代码自述文件中的说明,我在现有用户池中添加了一个应用程序,然后将新生成的应用程序客户端ID和应用程序客户端密钥复制并粘贴到AppHelper.java中clientId
和{{1 }} 分别。我还将clientSecret
设置为在Cognito conosle中的“池详细信息”下为我的用户池列出的ID,并将userPoolId
设置为US East,因为这是我的用户池区域。我注意到我没有必要设置池名称,就像在iOS版本中那样,所以我想知道这是否是我需要做的事情。
很抱歉,如果这是重复的,但我想发布一个问题,其中包含我遇到的确切错误消息以及我采取的步骤,我想知道是否有人设法使这个特定的样本工作,我应该怎么做做。
答案 0 :(得分:1)
问题已经解决,但遗憾的是我不太确定是什么修复它,因为我没有更改代码中的任何内容。我所做的就是安装更新,因此任何有类似问题的人都应该确保样本中使用的所有SDK都与模拟器一起正确更新。同样值得注意的是,我使用的网络与之前的测试不同,因此毕竟它可能是一个网络问题。
答案 1 :(得分:0)
我有同样的问题。
当我使用带有模拟器的VPN来测试程序时,发生了问题。原因是通过VPN连接时,仿真器中的Internet连接速度太慢。
如果您的互联网连接不够牢固,也会发生这种情况。
解决方案是,如果您的互联网连接不够好,请使用真实的android设备测试您的代码。
更多信息:https://github.com/aws-amplify/aws-sdk-android/issues/567