2016-08-11 49 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