アプリで Dropbox にファイルをアップロードしようとしていて、DBRoulette テスト プログラムをダウンロードしましたが、ここで説明する奇妙な動作も見つかりました。
基本的に、アプリを認証するためのボタンを押して、Dropbox とのリンクを承認すると、ライブラリが提供するコマンドがあります。
プライベート DropboxAPI mApi;
mApi.getSession().startAuthentication(コンテキスト);
このコマンドが処理されると、ネイティブ ブラウザが開き、認証を受け入れるかどうかを示す [拒否] または [許可] ボタンが表示されますが、問題は、それを押すと、ネイティブ ブラウザがバックグラウンドにあり、準備ができている間にアプリが戻ってきて自分自身を表示することです。アプリを終了すると再び表示されますが、これはかなり面倒です(ただし、アプリを初めて起動したときのみ表示されます)
ps チュートリアルで提案されている次のコードを onResume で使用することを忘れる前に
session.finishAuthentication();
この問題をよりよく理解し、(できれば) Webview で承認をリダイレクトするか、ボタンが押されて認証が処理されたらネイティブ ブラウザを閉じることで解決してくれる人に感謝します。