授权后浏览器没跳回 Gloom — 手动兜底流程
现象
在 Gloom 点「Sign in with GitHub」→ 跳到浏览器 → GitHub 页面授权成功 → 浏览器停在 GitHub 页面不自动跳回 Gloom。
原因
GitHub OAuth 授权完成后会回调到 Gloom 的自定义协议 gloom://auth/callback。这个回调依赖:
- Gloom 在后台或前台(没被系统杀掉)
- 系统能正确解析 gloom:// 协议
- 默认浏览器支持自定义协议回调
任何一个环节出问题都会导致跳不回来。
三步兜底
第一步:确认 Gloom 还活着
- 按「最近任务」键,看 Gloom 是否在后台任务列表里
- 如果在 → 按住 Gloom 卡片往上滑(或在多任务界面点 Gloom 图标),手动回到 Gloom
- 回到 Gloom 后它应该已经检测到 token,直接进入已登录状态
- 如果 Gloom 被系统杀掉了 → 重新打开 Gloom → 再次点登录按钮
第二步:强制回桌面再开 Gloom
有些系统在浏览器停在 GitHub 页面时,默认认为「用户还在浏览器操作」,不会自动触发其他应用的协议回调。
- 按 Home 键回桌面
- 点 Gloom 图标打开
- Gloom 可能已经检测到授权状态(token 已经存好了),直接进入首页
- 如果没进登录状态 → 再次点 Sign in with GitHub
第三步:清浏览器缓存重来
如果前两步都不行:
- 从最近任务里手动杀掉 Gloom 和浏览器
- 重开 Gloom,点 Sign in with GitHub
- 授权完成后等 5-10 秒(有时回调有延迟)
- 如果还是没跳回 → 这次不要关浏览器,直接从桌面点 Gloom 图标
为什么会这样
这不是 Gloom 的 bug,而是 Android 自定义协议回调机制的固有问题。不同品牌手机、不同浏览器对自定义协议的支持程度不同:
- Chrome:通常表现最好,gloom:// 回调正常
- Firefox:也比较稳
- 三星浏览器/华为浏览器/小米浏览器:各厂商定制浏览器的行为不完全可控
- 系统内存紧张时:Gloom 在后台可能被系统优先杀掉(因为它不走 Play Store,没有系统级优先)
预防性建议
- 授权过程中别杀掉 Gloom:保持它在后台任务列表里
- 用 Chrome 或 Firefox 做 OAuth:自定义协议回调支持最稳
- 内存紧张时先关掉其他大应用:防止系统在 OAuth 流程中杀掉 Gloom
真的不行怎么办
如果反复多次都跳不回来:
- 打开浏览器,在 GitHub Settings → Applications → Authorized OAuth Apps 里手动找有没有 Gloom 记录
- 如果有 → 说明 token 已经授权成功,只是回调没回来。回到 Gloom 手动清数据(设置 → 应用 → Gloom → 清除数据),再重走登录
- 如果没有 → GitHub 那边没授权成功,清浏览器缓存重走流程
极少数情况下可能需要等 GitHub OAuth 服务端的同步延迟(通常几分钟内)。