1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. sem_thesis, 07.06.2011 #1
    sem_thesis

    sem_thesis Threadstarter Android-Hilfe.de Mitglied

    Hallo!

    Stecke an einem letzten wichtigen Problem fest, bevor die App deployt werden kann.

    Ich habe das Facebook SDK in meine App integriert. Das Ziel ist Facebook-Daten periodisch zu sammeln.

    Jetzt hat das FB-Framework 2 Klassen: Facebook.java (für Authorisierung) und AsyncFacebookRunner (Graph API aufrufen).


    Ein Facebook Session sieht dabei so aus:

    Code:
    private Facebook mFacebook = new Facebook(APP_ID);
    private AsyncFacebookRunner mAsyncRunner = new AsyncFacebookRunner(mFacebook);
    
    mFacebook.authorize(CurrentActivity.this, PERMS, new LoginDialogListener());
    
    private class LoginDialogListener implements DialogListener {
     
            @Override
            public void onComplete(Bundle values) {
    
             Log.d(TAG, "Login successful!");
                    
              /* Now we start data collection */
              updater = new MyFBDataUpdater();
              updater.start();
              Log.d(TAG, "Updater-Thread created");
            
            }
    
    }
    
    public class MyFBDataUpdater extends Thread    {
    
            static final long DELAY = 1000 * 10;                    // 10s intervals between consequent HTTP-Requests
    
            @Override
            public void run() {
    
                while (true) {
    
                    try {
                        Log.d(TAG, "-- New FBData - Updating session has started --");
                                            
                        /* Start Collection - get data step-by-step after 10s intervals */
                        
                        // Get Profile Information
                        mAsyncRunner.request("me", new ProfileRequestListener());
                        // Sleep
                        Thread.currentThread();
                        Thread.sleep(DELAY);
                    }
    
    }
    
    }
    
    
    Dieser Code hier greift auf den Ast /me des Graph API's zu und ruft die Methode ProfileRequestListener welche die Daten verarbeitet.




    Nun, wenn ich den Phone neustarte, komme ich wieder auf den Original-Screen wo mich ich (mit Buttonklick) einloggen muss (neuer Aufruf der .authorize() Methode). Da Facebook Single-Sign-On benutzt und meine credentials im Cache gespeichert werden, muss ich meine Daten nicht mehr explizit eingeben und werde einfach eingeloggt.



    Ok, meine Frage ist nun:

    PS: Die .authorize()-Methode des FB-Frameworks sieht folgendermassen aus:
    Code:
       public void authorize(Activity activity, String[] permissions,
                int activityCode, final DialogListener listener) {
    
            boolean singleSignOnStarted = false;
    
            mAuthDialogListener = listener;
    
            // Prefer single sign-on, where available.
            if (activityCode >= 0) {
                singleSignOnStarted = startSingleSignOn(activity, mAppId,
                        permissions, activityCode);
            }
            // Otherwise fall back to traditional dialog.
            if (!singleSignOnStarted) {
                startDialogAuth(activity, permissions);
            }
        }
    
    Das Framework ist im Attachment beigelegt.
     

    Anhänge:

    Zuletzt bearbeitet: 07.06.2011
Die Seite wird geladen...
Ähnliche Themen Forum Datum
[ERLEDIGT] Benutzer Aktivitäten überwachen Android App Entwicklung 30.09.2017
[OFFEN] Problem mit meiner Login App Android App Entwicklung 10.06.2017
[ERLEDIGT] Jedem Benutzer eine eigene ID zuweisen? Android App Entwicklung 16.03.2017
SQLite asynchron benutzen Android App Entwicklung 26.02.2017
Benachrichtigung/Erinnerung an den Benutzer Android App Entwicklung 14.02.2017
Login funktioniert nicht Android App Entwicklung 05.01.2017
Brauche Vorschläge welche GUI Elemente ich benutzen soll in meiner App Android App Entwicklung 24.12.2016
Benutzer eindeutig identifizieren ohne Registrierung Android App Entwicklung 28.10.2016
Du betrachtest das Thema "Facebook-Login automatisieren (unter Benutzung von Facebook SDK)" im Forum "Android App Entwicklung",