您实际上不必在 Twitter 应用设置中注册 x-android-org-springsource-twitterclient://twitter-oauth-response URL。实际上,在这种情况下,在 Twitter 上配置的回调 URL 并不重要。回调 URL 在请求中发送到 Twitter 以获取 OAuth 请求令牌。
请注意,在AndroidManifest.xml 中有一个指定的<intent-filter> 用于配置此回调URL 的TwitterWebOAuthActivity。此过滤器告诉 Android 将请求重定向到 Activity。
<activity
android:name=".TwitterWebOAuthActivity"
android:excludeFromRecents="true"
android:noHistory="true" >
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="twitter-oauth-response"
android:scheme="x-org-springsource-android-twitterclient" />
</intent-filter>
</activity>
还要注意res/values/connect_settings.xml 中的twitter_oauth_callback_url 字符串再次被配置。
<string name="twitter_oauth_callback_url">x-org-springsource-android-twitterclient://twitter-oauth-response</string>
此字符串在TwitterWebOAuthActivity 中用于获取 Twitter 请求令牌。
@Override
protected OAuthToken doInBackground(Void... params) {
// Fetch a one time use Request Token from Twitter
return connectionFactory.getOAuthOperations().fetchRequestToken(getOAuthCallbackUrl(), null);
}
如果您想为自己的应用修改回调 URL,您需要确保在 AndroidManifest.xml 和 res/values/connect_settings.xml 中配置相同。