2012-05-21 61 views
0

在我的Android設備有四個應用程序使用Facebook API,現在登錄一個應用程序Facebook並最小化該應用程序和使用其他應用程序也有Facebook API,現在我想直接登錄在這個應用程序,我使用的是前一個,我不知道,噸需要再次登錄..我們如何在Android應用程序中單點登錄Facebook?

任何一個有比建議我的任何想法..

感謝

+0

我不認爲這是可能的。每個應用程序都將在Facebook上擁有自己的應用程序ID,您將不得不對每個應用程序進行身份驗證,因爲它們將在身份驗證時生成自己的access_token。也就是說,一旦通過驗證,它將保持這種狀態,直到access_token過期。我個人從來沒有聽說過這樣的實施。如果我錯了,請糾正。 –

回答

0

UPDATE:

,因爲在Android環境中運行的所有應用它是自己的沙箱,從一個應用程序到另一個應用程序絕對沒有辦法登錄Facebook,它必須在每個應用程序中完成。

Facebook SSO內置到SDK中。代碼實現如下:

Facebook facebook = new Facebook(APPID); 

facebook.authorize(SinglePost.this, {PERMISSIONS}, 
       new DialogListener() { 

        @Override 
        public void onComplete(Bundle values) { 
         // control comes here if the login was successful 
         // Facebook.TOKEN is the key by which the value of 
         // access token is stored in the Bundle called 
         // 'values' 
         Log.d("COMPLETE", "AUTH COMPLETE. VALUES: " 
           + values.size()); 
         Log.d("AUTH TOKEN", 
           "== " + values.getString(Facebook.TOKEN)); 
         updateStatus(values.getString(Facebook.TOKEN)); 
        } 

        @Override 
        public void onFacebookError(FacebookError e) { 
         Log.d("FACEBOOK ERROR", 
           "FB ERROR. MSG: " + e.getMessage() 
             + ", CAUSE: " + e.getCause()); 
        } 

        @Override 
        public void onError(DialogError e) { 
         Log.e("ERROR", "AUTH ERROR. MSG: " + e.getMessage() 
           + ", CAUSE: " + e.getCause()); 
        } 

        @Override 
        public void onCancel() { 
         Log.d("CANCELLED", "AUTH CANCELLED"); 
        } 
       }); 

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    Log.d("onActivityResult", "onActivityResult"); 
    facebook.authorizeCallback(requestCode, resultCode, data); 
} 
+0

這是在您的應用程序中使用SSO的正常過程。 OP要求3個應用在登錄時進行身份驗證,只需一個應用(總共4個)。 –

+0

@SiddharthLele很好,因爲每個應用程序運行在它自己的沙盒中,它們之間沒有任何聯繫,每個應用程序都必須自己登錄 – thepoosh

+0

準確無誤。這個問題的整個前提是有點不可行的。我已經評論說在OP中也是這樣。它根本無法完成。 –

相關問題