java - Android Google 登录异常

标签 java android google-signin

我想获取当用户无法使用 Google 登录登录我的应用程序时导致的异常。例如,在 handleSignInResult(@NonNull Task<GoogleSignInAccount> completedTask) 中我使用的方法:

private void handleSignInResult(@NonNull Task<GoogleSignInAccount> completedTask) {
    try {
        account = completedTask.getResult(ApiException.class);
        if(isSignedIn()) {
            Toast.makeText(this, "Success!", Toast.LENGTH_SHORT).show();
            startActivity(new Intent(MainActivity.this, Home.class));
        }
    } catch (ApiException e) {
            Toast.make(this, "Failed to login because: " + e.getCause(), Toast.LENGTH_LONG).show();
        }
    }
}

这有助于我找出错误的原因。但最常见的原因是当没有选择帐户时,此代码返回 null .

但我想做一个 Toast当没有选择帐户时:

Toast.makeText(this, "Failed to login because: No account selected!", Toast.LENGTH_LONG).show();

我认为这可以使用 switch case 来实现,但我不知道该怎么做。

最佳答案

这是我应该使用的:

private void handleSignInResult(@NonNull Task<GoogleSignInAccount> completedTask) {
    try {
        account = completedTask.getResult(ApiException.class);
        if(isSignedIn()) {
            Toasty.success(this, "Success!", Toast.LENGTH_SHORT, true).show();
            startActivity(new Intent(MainActivity.this, Home.class));
        }
    } catch (ApiException e) {
        if(e.getCause() != null) {
            Toast.makeText(this, "Failed to login because: " + e.getCause(), Toast.LENGTH_LONG).show();
        }
        else {
            Toast.makeText(this, "Failed to login because: No account Selected!", Toast.LENGTH_LONG).show();
        }
    }
}`

关于java - Android Google 登录异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53767262/

相关文章:

java - Spring MVC 图片上传使用 Mockmvc 和 JSON 集成测试失败

java - 下载并保存文件

javascript - Google OAuth2.0 注销不适用于本地主机但在控制台中工作

java - Wifi 连接应用程序崩溃(Java、Android)

java - 与使用静态初始化器作为伪入口点相比,main(...) 有什么好处?

android - LocalBroadcastManager 和 Activity 生命周期

ios - Google Firebase 登录完成后从 AppDelegate 导航到 ViewController

javascript - Firebase google 登录弹出窗口闪烁并且从不使用 Vuejs 登录?

java - Action 类构造函数如何与 Struts2 一起工作?

android - 编译字符串值时出错-fr-rFr