2016-08-11 5 views
-1

Я следил за твиттером в журнале и все работает отлично, за исключением той части, где я пытаюсь опубликовать твит. Когда я выполняю этот следующий код, мне нужно снова войти в систему, поэтому мне кажется, что я должен проверить токен доступа или некоторые, но я понятия не имею и не могу найти, как это сделать.Android twitter twitter проверить, если пользователь зарегистрирован

@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()); 

} 

тогда я использую функцию, чтобы получить возможность отправлять твит

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

i уже есть эта часть сборка. У меня проблема с частью, когда пользователь выравнивает мое приложение, чтобы поместить твит в твиттер. Twitter попросит пользователя войти в систему еще раз, прежде чем они смогут опубликовать твит. Пользователь должен войти в систему при входе в мое приложение. – carlosx2

+0

@ автомобильlosx2 мой ошибка. –

+0

, это нормально, любой вход приветствуется, я задаюсь вопросом, не пропал ли я что-то, потому что я не могу найти никаких других вопросов по этой теме. – carlosx2

Смежные вопросы