2016-08-11 62 views
-1

我已經關注了twitter fabric登錄,除了我嘗試發佈推文的部分外,一切工作都正常。當我執行以下代碼時,我需要再次登錄,所以看起來像我必須檢查訪問令牌或一些,但我不知道,也找不到如何做到這一點。Android studio推特檢查用戶是否登錄

@Override 
    public void onCreate(Bundle savedInstanceState) { 

     //initialize facebook sdk 
     FacebookSdk.sdkInitialize(getActivity().getApplicationContext()); 

     super.onCreate(savedInstanceState); 

     TwitterSession session = Twitter.getSessionManager().getActiveSession(); 
     TwitterAuthToken authToken = session.getAuthToken(); 
     String token = authToken.token; 
     String secret = authToken.secret; 

     if (token != null) { 
      Log.d(TAG, "twitter token" + token); 
     } 

     if (secret != null) { 
      Log.d(TAG, "twitter secret" + secret); 
     } 

     TwitterAuthConfig authConfig = new TwitterAuthConfig(TWITTER_KEY, TWITTER_SECRET); 
     Fabric.with(this.getActivity(), new TwitterCore(authConfig), new TweetComposer()); 

} 

然後我用一個函數來發布的tweet

public void TwitterSharing() { 

     Log.d(TAG, "Running twitter share"); 

     Log.d(TAG, "Share on twitter 1: " + sport); 
     Log.d(TAG, "Share on twitter 2: " + speed); 
     Log.d(TAG, "Share on twitter 3: " + distance); 
     Log.d(TAG, "Share on twitter 4: " + date); 


     Log.d(TAG, "Shared image url: " + sharedImage); 


     TweetComposer.Builder builder = new TweetComposer.Builder(this.getActivity()) 
       .text("just setting up my Fabric.") 
       .image(Uri.parse(sharedImage)); 
     builder.show(); 

    } 

它所有的作品,但在網頁上它是裝載我需要再次登錄,是不應該的,但我不知道怎麼樣。

感謝您的任何意見。

回答

0

爲此,您需要製作一個Activity作爲啓動器的活動。讓我們把它DispatchActivity

public class DispatchActivity extends Activity{ 
    @Override 
    public void onCreate(Bundle savedInstanceState){ 
     This returns true if user is logged in. 
     boolean isLoggedIn = mSharedPreferences.getBoolean(PREF_KEY_TWITTER_LOGIN, false); 
     if (isLoggedIn){ 
      //User is logged in, take him to your activity 
      Intent i = new Intent(this,yourMainActivity.class); 
      this.startActivity(i); 
     } 
     else{ 
      //User is not logged in, take him to your SignIn activity 
      Intent i = new Intent(this,SignUp.class); 
      this.startActivity(i); 
     } 
    } 
} 

記住,使該發射活動,並沒有爲它創建一個佈局文件。

+0

我已經有這部分構建。當用戶將我的應用程序設置爲在Twitter上發佈推文時,我遇到了部分問題。 Twitter要求用戶在發佈推文之前再次登錄。用戶應該在他們已經登錄到我的應用程序時登錄。 – carlosx2

+0

@ carlosx2我的錯誤。 –

+0

這是好的,任何輸入是受歡迎的,我不知道我是否失去了一些東西,因爲我無法找到任何關於此主題的其他問題。 – carlosx2