サーチ…


Twitterボタンでログインを作成し、それにコールバックを添付する

  1. レイアウト内に、次のコードを含むログインボタンを追加します。

     <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"/>
    
  1. ボタンを表示するアクティビティまたはフラグメントでは、以下のようにログインボタンにコールバックを作成して接続する必要があります。

     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
         }
     });
    
  1. 認証アクティビティの結果をボタンに戻す:

     @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);
         }
     }
    
  1. 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