我正在开发带有firebase的Android应用程序。如果设备具有良好的Internet连接,则使用电子邮件和密码的登录过程正常工作,但是当我在信号不好的地方进行测试或连接缓慢时,该过程会停留很多时间。问题是:存在某种方法来设置firebase身份验证的超时?延迟对用户体验不利。我通过在单击登录按钮事件上发布的异步函数解决了此问题,此异步等待八秒钟,并向用户显示了消息的警报:连接速度很慢,您可以等待或退出并稍后再尝试,但我认为这是最好的方法与超时有关。
确保com.google.android.gms.tasks软件包将来不应被Google混淆和记录。我通过使用实用程序方法"等待"来运行任务,通过同步等待它来解决相同的问题:
import com.google.android.gms.tasks.Tasks;
private String requestToken(boolean refresh) {
FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
Task<GetTokenResult> task = user.getIdToken(refresh);
return Tasks.await(task, 10, TimeUnit.SECONDS);
}
如果Internet连接不好,等待方法将在指定的超时