2013-06-26 7 views
5

का उपयोग करता हूं तो फेसबुक लॉगिन काम नहीं करता है जब मैं एचटीसी एंड्रॉइड का उपयोग करता हूं, तो यह बहुत अच्छा होता है। हालांकि, जब मैं सैमसंग एंड्रॉइड 4.2 का उपयोग करके लॉगिन करने के लिए फेसबुक के एपीआई का उपयोग करता हूं, तो मैं "लॉग इन असफल" जैसे टोस्ट संदेश दिखाता हूं, कृपया इस ऐप के मार्कर से संपर्क करें और उन्हें फेसबुक पर 1732 9 10 जारी करने के लिए कहें "जब मैं सैमसंग एंड्रॉइड 4.2

कृपया इसे ठीक करने में मेरी सहायता करें !

public class FacebookLogin { 
/* variable Facebook */ 
private static final String FACEBOOK_APPID = "578073962236765"; 
private FacebookConnector facebookConnector; 
private final Handler mFacebookHandler = new Handler(); 
ActivityBase activity; 
Request.GraphUserCallback userCallback; 
LoginService.OnSwimLogedInEvents swimLoginCallBack; 
LoginService loginService; 
Dialog changeDialog; 
LoadingDialog loadingDialog; 

public FacebookLogin(ActivityBase activity, Request.GraphUserCallback userCallback, LoginService.OnSwimLogedInEvents swimLoginCallBack) { 
    this.activity = activity; 
    this.loadingDialog = new LoadingDialog(); 
    this.userCallback = userCallback; 
    this.swimLoginCallBack = swimLoginCallBack; 
    this.loginService = new LoginService(activity); 
    this.facebookConnector = new FacebookConnector(FACEBOOK_APPID, 
      activity, activity, new String[]{ 
      "publish_stream", "email", "user_birthday", "read_stream", "offline_access"}); 
} 

public void login() { 
    Session.initializeStaticContext(activity); 
    if (facebookConnector.getFacebook().isSessionValid()) { 
     facebookConnector.getFacebook().getSession() 
       .closeAndClearTokenInformation(); 
    } 

    AuthListener listener = new AuthListener() { 
     @Override 
     public void onAuthSucceed() { 
      doLogin(); 
     } 

     @Override 
     public void onAuthFail(String error) { 
      //(new MessageAlert()).showDialog("Facebook authetication fail\r\nError:" + error, activity); 
     } 
    }; 
    SessionEvents.addAuthListener(listener); 

    facebookConnector.login(); 
} 

public void onActivityResult(int requestCode, int resultCode, Intent data) { 
    facebookConnector.getFacebook().authorizeCallback(requestCode, resultCode, data); 
} 

private void doLogin() { 
    AsyncTaskBase<Void, Void, Void> t = new AsyncTaskBase<Void, Void, Void>(
      activity) { 
     @Override 
     protected Void doInBackground(Void... params) { 
      mFacebookHandler.post(facebookUserInfoRunner); 
      return super.doInBackground(params); 
     } 

     @Override 
     protected void onPostExecute(Void aVoid) { 
      super.onPostExecute(aVoid); 
     } 
    }; 
    t.execute(); 
} 

final Runnable facebookUserInfoRunner = new Runnable() { 
    @Override 
    public void run() { 
     loadingDialog.showDialogLoading(activity); 
     Request.executeMeRequestAsync(facebookConnector.getFacebook() 
       .getSession(), new Request.GraphUserCallback() { 

      @Override 
      public void onCompleted(GraphUser user, Response response) { 
       SwimAccount currentAccount = ((SwimApp) activity.getApplication()).getCurrentAccount(); 
       currentAccount.setAvatarUrl("https://graph.facebook.com/" + user.getId() + "/picture"); 
       currentAccount.setIsLogin(true); 
       currentAccount.setFirstName(user.getFirstName()); 
       currentAccount.setLastName(user.getLastName()); 
       currentAccount.setStringId(user.getId()); 
       currentAccount.setAccountType("facebook"); 
       currentAccount.setEmail((String) response.getGraphObject().getProperty("email")); 
       currentAccount.setBirthdate(user.getBirthday()); 
       currentAccount.setGender((String) response.getGraphObject().getProperty("gender")); 
       if (userCallback != null) { 
        userCallback.onCompleted(user, response); 
       } 

       loginService.login(currentAccount.getEmail(), "", currentAccount.getAccountType(), currentAccount.getStringId(), swimLoginCallBack); 
       //changeDialog.dismiss(); 
      } 
     }); 
    } 
}; 

}

+0

यहाँ एक ही कृपया जवाब। –

+0

इसके लिए कोई समाधान? मुझे 4.2+ के साथ एक सैमसंग एस 4 के साथ एक ही समस्या का सामना करना पड़ रहा है। – Ron

+0

सुनिश्चित करें कि आप फेसबुक एसडीके के नवीनतम संस्करण का उपयोग कर रहे हैं। आप इसे [यहां] (https://developers.facebook.com/android/) से प्राप्त कर सकते हैं और वहां मूलभूत ट्यूटोरियल भी देख सकते हैं। –

उत्तर

2

मिले मेरी समस्या का समाधान। अपने मैनिफेस्ट में फेसबुक लॉगिन गतिविधि से android:noHistory="true" को हटाने का प्रयास करें। यह सत्र के प्रमाणीकरण प्रवाह के साथ गड़बड़ करता है।

1

ऐसा लगता है कि एक्सडीए पर लोगों को भी यही समस्या है।

वे दावा कर रहे हैं कि आप इन दोनों में से किसी की कोशिश कर सकते हैं:

(1) पर सेटिंग> डेवलपर विकल्प "गतिविधियों को न रखें" विकल्प। यदि यह चालू है, तो जब कोई ऐप कुछ पॉपअप कॉल करता है, तो सिस्टम ऐप बंद कर देता है, इसलिए सिस्टम इसे पुनरारंभ करता है ... और आपके लूप को मिला।

(2) यदि आप फेसबुक ऐप को अनइंस्टॉल करते हैं, तो आप अपने ऐप के माध्यम से लॉगिन कर सकते हैं और फिर फेसबुक ऐप को फिर से इंस्टॉल कर सकते हैं।

यह सुनिश्चित नहीं है कि ये जवाब "आधिकारिक" कैसे हैं, लेकिन सोचा कि यह आपके लिए एक शॉट के लायक हो सकता है।

सूत्रों का कहना है: http://forum.xda-developers.com/showthread.php?p=43200939 और http://forum.xda-developers.com/showthread.php?t=2186035

+0

उन्होंने कोशिश की और उन्होंने मदद नहीं की। मैंने अपना समाधान पोस्ट किया (जिसने मेरी समस्या तय की), लेकिन मुझे यकीन नहीं है कि यह अन्य लोगों की समस्याओं का होगा। – Ron

संबंधित मुद्दे