android开发google账号一键登录和注册
一、官网的使用说明开始使用一键登录和注册 | Authentication | Google for Developers二、先到API控制台注册应用添加两个凭证一个web应用凭证和一个android应用凭证注意在开发代码里用的是web应用凭证如果用android凭证使用时会报错“10: Developer console is not set up correctly”不知道为什么如果API控制台不添加android凭证也会报错。另外上面的情况在打包apk时没问题但是如果要打包aab发布到googleplay使用这个功能还是报错这时需要修改android凭证的sha-1从googleplayconsole后台复制如下三、测试需要添加测试用户四、发布还有些要求三、复制客户端ID复制到string.xml中准备工作好开始写activity直接上代码private lateinit var oneTapClient: SignInClient private lateinit var signUpRequest: BeginSignInRequest private var showOneTapUI true private val requestDataLauncher registerForActivityResult(ActivityResultContracts.StartIntentSenderForResult()) { result - try { val credential oneTapClient.getSignInCredentialFromIntent(result.data) val idToken credential.googleIdToken Log.e(TAG, googleIdToken: $idToken) Log.e(TAG, email: ${credential.id}) Log.e(TAG, displayName: ${credential.displayName}) Log.e(TAG, familyName: ${credential.familyName}) Log.e(TAG, givenName: ${credential.givenName}) val regeditBean RegeditBean() regeditBean.googleTokenId idToken regeditBean.username credential.id.substring(0, credential.id.indexOf()) regeditBean.email credential.id regeditBean.firstname credential.givenName regeditBean.lastname credential.familyName when { idToken ! null - { doGoogleLogin(regeditBean) }else - { // Shouldnt happen. Log.e(TAG, No ID token!) } } } catch (e: ApiException) { when (e.statusCode) { CommonStatusCodes.CANCELED - { Log.e(TAG, One-tap dialog was closed.) // Dont re-prompt the user. showOneTapUI false } CommonStatusCodes.NETWORK_ERROR - { Log.e(TAG, One-tap encountered a network error.) // Try again or just ignore. } else - { Log.e(TAG, Couldnt get credential from result. (${e.localizedMessage})) } } } } override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) oneTapClient Identity.getSignInClient(this) signUpRequest BeginSignInRequest.builder() .setGoogleIdTokenRequestOptions( BeginSignInRequest.GoogleIdTokenRequestOptions.builder() .setSupported(true) // Your servers client ID, not your Android client ID. .setServerClientId(getString(R.string.google_login_client_web_id)) // .setServerClientId(getString(R.string.google_login_client_debug_id)) // .setServerClientId(getString(R.string.google_login_client_id)) // Show all accounts on the device. .setFilterByAuthorizedAccounts(false) .build()) .build() oneTapClient.beginSignIn(signUpRequest) .addOnSuccessListener(this) { result - try { requestDataLauncher.launch(IntentSenderRequest .Builder(result.pendingIntent.intentSender) .build()) } catch (e: IntentSender.SendIntentException) { Log.e(TAG, Couldnt start One Tap UI: ${e.localizedMessage}) } } .addOnFailureListener(this) { e - // No Google Accounts found. Just continue presenting the signed-out UI. Log.e(TAG, e.localizedMessage) } }需要在build.gradle中添加引用dependencies { ... //一键登录和注册 implementation com.google.android.gms:play-services-auth:20.6.0 ... }

相关新闻

SpringCloudAlibaba——Nacos 微服务注册+配置功能组件使用教程

SpringCloudAlibaba——Nacos 微服务注册+配置功能组件使用教程

目录 一. Nacos是什么? 二. Nacos注册中心功能怎么用? 三. Nacos服务分级存贮模型 四. NacosRule负载均衡 五. Nacos服务权重配置 六. Nacos环境隔离 七. Nacos与Eureka的区别 其它微服务组件文章合集(有需要的小伙伴可跳转观看&#…

2026/7/23 18:08:55阅读更多 →
为什么说交大MTT是国内技术转移硕士优选-全国首个学位点五力培养全解

为什么说交大MTT是国内技术转移硕士优选-全国首个学位点五力培养全解

2026国内技术转移硕士(MTT)项目怎么选?多维剖析优质MTT报考方向 伴随国内科技创新体系持续完善,科技成果转化被纳入国家核心发展战略,市场对于复合型技术转移人才的缺口逐步扩大。在此行业背景下,技术转移硕…

2026/7/23 18:08:55阅读更多 →
AI系统指令设计:核心要素与实战技巧

AI系统指令设计:核心要素与实战技巧

1. 系统指令(System Prompt)的本质与价值在AI交互领域,System Prompt就像导演给演员的剧本大纲。它不直接参与对话,而是为整个交互设定基调和规则。去年调试一个客服机器人时,我发现同样的用户问题,仅修改S…

2026/7/23 18:08:55阅读更多 →
鸿蒙 PC Markdown 编辑器千文件工作区压力测试

鸿蒙 PC Markdown 编辑器千文件工作区压力测试

鸿蒙 PC Markdown 编辑器千文件工作区压力测试 仓库地址:https://gitcode.com/VON-/codex_md_oh 代码基线:工作区搜索功能基线 2ca99e9,G3-10 千文件设备回归 941a1dc,当前状态 6c9d88f。 千文件测试不是制造一千条结果 工作区…

2026/7/23 19:19:11阅读更多 →
Tiva™ C系列MCU EPI模块PSRAM接口配置:iRDY信号与等待状态详解

Tiva™ C系列MCU EPI模块PSRAM接口配置:iRDY信号与等待状态详解

1. 项目概述与核心价值在嵌入式系统开发中,尤其是涉及图形显示、数据采集或通信缓冲的应用,片上SRAM的容量常常捉襟见肘。这时,扩展一片高速、低成本的外部PSRAM(伪静态随机存储器)就成了一个非常实用的选择。然而&…

2026/7/23 19:19:11阅读更多 →
AI编曲工具如何改变音乐创作流程

AI编曲工具如何改变音乐创作流程

1. 项目概述:AI编曲如何颠覆传统音乐创作流程作为一名独立音乐人,我深刻理解创作过程中最痛苦的环节——当你脑海中浮现一段美妙旋律,却苦于没有专业编曲能力将其完整呈现。传统编曲需要掌握乐理知识、熟悉多种乐器特性、精通DAW软件操作&…

2026/7/23 19:19:11阅读更多 →
大模型生产环境评测与部署实战指南

大模型生产环境评测与部署实战指南

1. 生产环境大模型应用评测体系详解1.1 为什么需要专门的评测体系在大模型技术快速发展的今天,生产环境中的应用场景越来越广泛。与学术研究或demo演示不同,生产环境对模型的稳定性、可靠性和性能有着更高的要求。我见过太多团队在实验室环境下模型表现优…

2026/7/23 19:19:11阅读更多 →
verilog HDLBits刷题[Counters]“Count1to10”---Decade counter again

verilog HDLBits刷题[Counters]“Count1to10”---Decade counter again

一、题目Make a decade counter that counts 1 through 10, inclusive. The reset input is synchronous, and should reset the counter to 1.Module Declarationmodule top_module (input clk,input reset,output [3:0] q);二、分析同步高有效复位,计数器变为1&am…

2026/7/23 19:19:11阅读更多 →
大厂HR面被问个人缺点?留学生用业务度量提升话术得体回应「蒸汽求职分享」

大厂HR面被问个人缺点?留学生用业务度量提升话术得体回应「蒸汽求职分享」

在经历了两到三轮硬核的技术厮杀或业务架构拆解后,很多留学生同学在 HR 终面时,会迎头撞上一个极其经典且暗藏杀机的试探:“你觉得你最大的缺点或者目前最突出的短板是什么?” 面对这个关于个人缺点的拷问,许多缺乏终面…

2026/7/23 19:17:10阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/23 0:56:31阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/23 0:56:31阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/23 0:56:31阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:00:28阅读更多 →
从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:28阅读更多 →
油泥处理设备哪里能买到

油泥处理设备哪里能买到

油泥处理设备哪里有?这是许多从事油田、炼化、清罐业务的从业者最关心的问题。根据河南三丰环保设备有限公司的行业经验,选购油泥处理设备的核心在于设备能否适配当地环保法规与原料特性,而非单纯看价格。该公司总经理王钦田先生指出&#xf…

2026/7/23 0:00:28阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/22 22:56:18阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/23 18:58:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/23 18:58:18阅读更多 →