对 Dropbox 进行身份验证会使“浏览器”保持打开状态



我正在尝试让我的应用程序在Dropbox上上传文件,并下载了他们的DBRoulette测试程序,但我也发现了我现在要解释的奇怪行为

基本上,一旦您按下用于验证应用程序的按钮并授权它与您的Dropbox链接,该库就会提供一个命令,即

私有 DropboxAPI mApi;

mApi.getSession((.startAuthentication(context(;

处理完此命令后,本机浏览器将打开并显示按钮"拒绝"或"允许"以接受或不接受授权,但问题是,当您按下它时,应用程序会返回并显示自己,而本机浏览器位于后台,准备在您退出应用程序后再次出现,这很烦人(尽管它仅在您第一次启动应用程序时才这样做(

p.s. 在我忘记之前,我确实在 onResume 中使用了教程中建议的以下代码

session.finishAuthentication((;

感谢任何能帮助我更好地理解这个问题并(希望(解决它的人,在 Web 视图中重定向授权或在按下按钮并处理身份验证后关闭本机浏览器

不幸的是,你对此无能为力。

身份验证过程在服务器端运行,即在 Dropbox 上运行。这意味着 Dropbox 定义了对您作为客户必须遵循的用户进行身份验证的操作过程。这是 OAuth 身份验证流程思想的一部分。

我自己经历过的是,如果您安装了官方Dropbox应用程序,该应用程序将用于对用户进行身份验证(而不是浏览器(,并且在用户按下允许/取消按钮后也会关闭。

最新更新