Android中Google One Tap登录异常:RESULT_CANCELED(结果码0)问题
解决Google One Tap返回RESULT_CANCELED(结果码0)的问题
确认Google Cloud配置生效:Google Cloud的SHA1更新可能存在10-15分钟的延迟,等待后再测试。同时检查是否在对应项目的Android客户端下更新了SHA1,不要混淆debug和release环境的签名信息。
验证当前debug keystore的SHA1:在Android Studio终端执行以下命令,获取当前debug签名的SHA1,与Google Cloud中的值对比,确保完全一致(无空格、大小写匹配):
keytool -list -v -keystore ~/.android/debug.keystore -alias androiddebugkey -storepass android -keypass android清除应用缓存数据:卸载测试应用,或在系统设置中清除应用的缓存和数据,避免旧签名信息被缓存。
检查One Tap初始化配置:确认初始化时使用的是Google Cloud项目中Android客户端的ID,而非Web端ID;同时检查请求参数(如loginHint、nonce等)是否配置正确。
排查异常细节:在One Tap请求初始化阶段捕获
ApiException,打印错误码和信息,定位具体问题:try { IntentSender intentSender = oneTapClient.getSignInIntent(request).getIntentSender(); startIntentSenderForResult.launch(new IntentSenderRequest.Builder(intentSender).build()); } catch (ApiException e) { Log.e("onetap", "初始化错误:" + e.getStatusCode() + ",详情:" + e.getMessage()); }常见错误码:10表示签名或客户端ID配置错误,2表示用户主动取消(但此处返回RESULT_CANCELED更可能是配置问题)。
检查设备Google Play服务:确保测试设备上的Google Play服务为最新版本,旧版本可能导致One Tap功能异常。
内容的提问来源于stack exchange,提问作者user19659782
相关产品推荐
相关产品推荐

