2016-08-11 1 views
-1

Ich habe Twitter Fabric anmelden und alles funktioniert gut außer für den Teil, wo ich versuche, einen Tweet zu posten. Wenn ich diesen folgenden Code ausführe, muss ich mich erneut anmelden, also scheint es, als ob ich ein Zugriffstoken oder Ähnliches überprüfen muss, aber ich habe keine Ahnung und kann nicht herausfinden, wie das geht.Android Studio Twitter überprüfen, ob der Benutzer angemeldet ist

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

} 

dann verwende ich eine Funktion der 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(); 

    } 

alles funktioniert, aber auf der Web-Seite zu schreiben ist es Laden i wieder anmelden müssen, die nicht, aber ich habe keine Ahnung, geschehen soll Wie.

Danke für jede Eingabe.

Antwort

0

Dafür müssen Sie eine Activity als Launcher-Aktivität machen. Nennen wir es 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); 
     } 
    } 
} 

Merken Launchers Aktivität zu machen, und erstellen Sie kein Layout-Datei für sie.

+0

Ich habe bereits diesen Teil bauen. Ich habe das Problem mit dem Teil, wenn der User meine App levelt, um einen Tweet auf Twitter zu packen. Twitter Bitten Sie den Benutzer, sich erneut anzumelden, bevor er den Tweet posten kann. Der Benutzer sollte angemeldet sein, da er sich bereits bei meiner App angemeldet hat. – carlosx2

+0

@ carlosx2 mein Fehler. –

+0

das ist in Ordnung, jede Eingabe ist willkommen, ich frage mich, ob ich etwas vermisse, da ich keine andere Frage zu diesem Thema finden kann. – carlosx2

Verwandte Themen