有很多示例可供参考,特别是Twitter的。这个链接似乎是最完整的,所以我一直在研究它:https://github.com/brione/Brion-Learns-OAuth。然而,所有示例基本上都是概念验证代码。它们都有粗糙的边缘,例如当您通过浏览器启动应用程序时会留下一个拆分任务堆栈。通过声明为singleTask并强制浏览器回调到原始任务而不是启动新活动,我已经让我正在使用的应用程序基本按照我的意愿工作了。
<activity android:name=".MainActivity"
android:label="@string/app_name"
android:launchMode="singleTask">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
然而,我想知道是否有更好的方法来处理这个问题,比如弹出一个模态WebView来引导用户完成授权过程?
我假设对于Twitter来说,最好的做法可能是转换为xauth。但是我仍然想知道,一般情况下,是否存在适用于Android的最佳OAuth生产实现的最佳实践?