Android
API Twitter
Поиск…
Создание логина с помощью кнопки Twitter и присоединение к ней обратного вызова
Внутри макета добавьте кнопку «Вход» со следующим кодом:
<com.twitter.sdk.android.core.identity.TwitterLoginButton android:id="@+id/twitter_login_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true"/>
В Управлении или фрагменте, который отображает кнопку, вам необходимо создать и прикрепить Обратный звонок к кнопке Logina следующим образом:
import com.twitter.sdk.android.core.Callback; import com.twitter.sdk.android.core.Result; import com.twitter.sdk.android.core.TwitterException; import com.twitter.sdk.android.core.TwitterSession; import com.twitter.sdk.android.core.identity.TwitterLoginButton; ... loginButton = (TwitterLoginButton) findViewById(R.id.login_button); loginButton.setCallback(new Callback<TwitterSession>() { @Override public void success(Result<TwitterSession> result) { Log.d(TAG, "userName: " + session.getUserName()); Log.d(TAG, "userId: " + session.getUserId()); Log.d(TAG, "authToken: " + session.getAuthToken()); Log.d(TAG, "id: " + session.getId()); Log.d(TAG, "authToken: " + session.getAuthToken().token); Log.d(TAG, "authSecret: " + session.getAuthToken().secret); } @Override public void failure(TwitterException exception) { // Do something on failure } });
Передайте результат проверки подлинности обратно на кнопку:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // Make sure that the loginButton hears the result from any // Activity that it triggered. loginButton.onActivityResult(requestCode, resultCode, data); }
Примечание. Если вы используете TwitterLoginButton во фрагменте, используйте следующие шаги:
@Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); // Pass the activity result to the fragment, which will then pass the result to the login // button. Fragment fragment = getFragmentManager().findFragmentById(R.id.your_fragment_id); if (fragment != null) { fragment.onActivityResult(requestCode, resultCode, data); } }
Добавьте следующие строки в ваши зависимости build.gradle :
apply plugin: 'io.fabric' repositories { maven { url 'https://maven.fabric.io/public' } } compile('com.twitter.sdk.android:twitter:1.14.1@aar') { transitive = true; }
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow