Вам не нужно регистрировать URL-адрес x-android-org-springsource-twitterclient://twitter-oauth-response
с настройками приложения Twitter. Фактически, URL-адрес обратного вызова, настроенный в Twitter, в данном случае не имеет особого значения. URL-адрес обратного вызова отправляется в Twitter в запросе для получения маркера запроса OAuth.
Обратите внимание, что в пределах AndroidManifest.xml
указан <intent-filter>
для TwitterWebOAuthActivity
, который настраивает этот URL обратного вызова. Этот фильтр сообщает Android о перенаправлении запросов на активность.
<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
.