2017-10-15 232 views
0

我用這個android應用程序的Twitter SDK。 有可能壓在Twitter的按鈕,之後卻試圖連接到Twitter,我有一個短吐司「無法完成操作」Android的Twitter的登錄按鈕不工作「無法完成的行動」

我做完全什麼Twitter的開發頁面告訴我(https://dev.twitter.com/twitterkit/android/log-in-with-twitter

我的代碼:

public class MainActivity extends AppCompatActivity { 

    TwitterLoginButton loginButton; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     Twitter.initialize(this); 
     setContentView(R.layout.activity_main); 


     TwitterConfig config = new TwitterConfig.Builder(this) 
       .logger(new DefaultLogger(Log.DEBUG)) 
       .twitterAuthConfig(new TwitterAuthConfig(getString(R.string.tw__login_btn_txt), getString(R.string.tw__max_tweet_chars))) 
       .debug(true) 
       .build(); 
     Twitter.initialize(config); 

     loginButton = (TwitterLoginButton) findViewById(R.id.login_button); 
     loginButton.setCallback(new Callback<TwitterSession>() { 
      @Override 
      public void success(Result<TwitterSession> result) { 
       // Do something with result, which provides a TwitterSession for making API calls 
       Toast.makeText(MainActivity.this, "hi", Toast.LENGTH_SHORT).show(); 
      } 

      @Override 
      public void failure(TwitterException exception) { 
       // Do something on failure 
      } 
     }); 


    } 
    protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
     super.onActivityResult(requestCode, resultCode, data); 

     // Pass the activity result to the login button. 

     loginButton.onActivityResult(requestCode, resultCode, data); 


    } 



    } 

和錯誤:

授權一個錯誤

完成

com.twitter.sdk.android.core.TwitterAuthException: Authorize failed. at com.twitter.sdk.android.core.identity.AuthHandler.handleOnActivityResult(AuthHandler.java:98) at com.twitter.sdk.android.core.identity.TwitterAuthClient.onActivityResult(TwitterAuthClient.java:171) at com.twitter.sdk.android.core.identity.TwitterLoginButton.onActivityResult(TwitterLoginButton.java:130) at com.twitter.ratz.william.test.MainActivity.onActivityResult(MainActivity.java:64) at android.app.Activity.dispatchActivityResult(Activity.java:7022) at android.app.ActivityThread.deliverResults(ActivityThread.java:4253) at android.app.ActivityThread.handleSendResult(ActivityThread.java:4300) at android.app.ActivityThread.-wrap20(ActivityThread.java) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1588) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6321) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)

回答

0
TwitterConfig config = new TwitterConfig.Builder(this) 
    .logger(new DefaultLogger(Log.DEBUG)) 
    .twitterAuthConfig(new TwitterAuthConfig(getResources().getString(R.string.twitter_consumer_key), getResources().getString(R.string.twitter_consumer_secret))) 
    .debug(true) 
    .build(); 

twitter.initialize(config); 

setContentView(R.layout.login); 
+1

第一次twitter初始化後添加setContentView –