2013-06-26 22 views
5

HTC Android kullandığımda çok iyi çalışıyor. Ben Samsung Android'i 4.2 kullanarak giriş Facebook'un API kullanmak Ancak, benFacebook Oturum açmıyor Samsung Android 4.2 kullandığımda çalışmıyor

"giriş başarısız Bu uygulamanın işaretleyici başvurun ve Facebook'a 1732910 sorunu isteyin" gibi Tost ileti gösterilmesi düzeltmek için bana yardım edin !

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

yanıt verin burada aynı. –

+0

Bunun için herhangi bir çözüm? Ben de aynı sorunla, bir Samsung S4 ile 4.2+ ile karşılaşıyorum. – Ron

+0

facebook sdk yazılımının en son sürümünü kullandığınızdan emin olun. [Buradan] (https://developers.facebook.com/android/) adresinden edinebilir ve ayrıca buradaki temel eğiticileri de inceleyebilirsiniz. –

cevap

2

benim soruna bir çözüm bulundu. Manifestinizde Facebook giriş etkinliğinden android:noHistory="true"'u silmeyi deneyin. Bu, oturumun kimlik doğrulama akışıyla uğraşır.

1

XDA'daki insanların da aynı sorunu yaşadığı anlaşılıyor.

Onlar bunlardan birini deneyebilirsiniz iddia ediyorlar:

(1) Ayarlar> Geliştirici Seçenekleri seçeneğini "Etkinlikleri saklama". Açıksa, bir uygulama bazı açılır pencereleri çağırdığında, sistem uygulamayı kapatır, böylece sistem yeniden başlatır ... ve döngüsünüz var.

(2) Facebook Uygulamasını kaldırırsanız, uygulamanız üzerinden giriş yapabilir ve ardından Facebook uygulamasını yeniden yükleyebilirsiniz.

Bu cevapların nasıl "resmi" olduğundan emin değilsiniz, ancak size bir şans değerinde olabileceğini düşündük.

Kaynaklar: http://forum.xda-developers.com/showthread.php?p=43200939 ve http://forum.xda-developers.com/showthread.php?t=2186035

+0

Onları denediniz ve yardımcı olmadılar. Çözümü gönderdim (sorunumu çözdüm), ama diğer insanların problemleri olup olmayacağından emin değilim. – Ron

İlgili konular