8

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

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

私有 DropboxAPI mApi;

mApi.getSession().startAuthentication(context);

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

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

session.finishAuthentication();

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

4

1 回答 1

3

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

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

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

于 2012-08-23T18:43:02.720 回答