2016-01-28 113 views
1

我剛剛將我的解析Android軟件包從版本1.9.1升級到由Parse提供的最新版本。我添加了FacebookUtils,TwitterUtils和一切,除了當我想使用Facebook登錄時,該應用似乎可以工作。
它給我這個錯誤:ParseFacebookUtils在將Parse升級到版本1.13.0後拋出錯誤

java.lang.IllegalStateException: Callback already registered for <facebook>: [email protected] 

,當我恢復到我以前的1.9.1版本,一切正常,我沒有改變任何東西和事實。
那麼這是新的Parse庫中的錯誤嗎?我怎樣才能解決這個問題?

編輯

的logcat:

0 java.lang.IllegalStateException: Callback already registered for <facebook>: [email protected] 
1 at com.parse.ParseAuthenticationManager.register(ParseAuthenticationManager.java:35) 
2 at com.parse.ParseUser.registerAuthenticationCallback(ParseUser.java:1089) 
3 at com.parse.ParseFacebookUtils$ParseUserDelegateImpl.registerAuthenticationCallback(ParseFacebookUtils.java:562) 
4 at com.parse.ParseFacebookUtils.initialize(ParseFacebookUtils.java:109) 
5 at com.parse.ParseFacebookUtils.initialize(ParseFacebookUtils.java:92) 
6 at com.me.bit.bitme.Views.LoginActivity.onFBLoginButtonClicked(LoginActivity.java:170) 
7 at com.me.bit.bitme.Views.LoginActivity.access$200(LoginActivity.java:49) 
8 at com.me.bit.bitme.Views.LoginActivity$3.onClick(LoginActivity.java:90) 
9 at android.view.View.performClick(View.java:4803) 
10 at android.view.View$PerformClick.run(View.java:19981) 
11 at android.os.Handler.handleCallback(Handler.java:739) 
12 at android.os.Handler.dispatchMessage(Handler.java:95) 
13 at android.os.Looper.loop(Looper.java:135) 
14 at android.app.ActivityThread.main(ActivityThread.java:5430) 
15 at java.lang.reflect.Method.invoke(Native Method) 
16 at java.lang.reflect.Method.invoke(Method.java:372) 
17 at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:913) 
18 at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:706) 
+0

添加你的代碼添加了logcat的 –

+0

添加LoginActivity代碼還 – abeikverdi

+0

完整的logcat –

回答

0

你應該初始化ParseFacebookUtils應用類,而不是在AppCompatActivity類。

<application 
     android:name=".Configs" 
     ... 

的CONFIGS類是這樣的:

您可以創建一個Java類,並調用它CONFIGS,在清單設置它的名字

public class Configs extends Application { 
… 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    ParseFacebookUtils.initialize(this); 

    … 
} 
0

你應該將ParseFacebookUtils初始化爲Application類。

但是,應用程序崩潰可以簡單地通過嘗試catch IllegalStateException來避免。

try { 
     ParseFacebookUtils.initialize(this); 
    } catch (IllegalStateException e) { 
      Log.d("MyApp", "Seems like ParseFacebookUtils already initialized"); 
     } 
相關問題