簡體   English   中英

我將Parse的庫升級到版本1.13.0后,ParseFacebookUtils引發錯誤

[英]ParseFacebookUtils throws an error after I upgraded Parse to library to version 1.13.0

我剛剛將我的parse Android軟件包從1.9.1版本升級到Parse提供的最新版本。 我添加了FacebookUtils,TwitterUtils等所有內容,該應用程序似乎可以正常運行,除非我想使用Facebook登錄名。
它給了我這個錯誤:

java.lang.IllegalStateException: Callback already registered for <facebook>: com.parse.ParseFacebookUtils$1@1fce48e9

我沒有做任何更改,實際上,當我還原到舊的1.9.1版本時,一切正常。
那么這是新Parse庫中的錯誤嗎? 我怎樣才能解決這個問題?

編輯

logcat的:

0   java.lang.IllegalStateException: Callback already registered for <facebook>: com.parse.ParseFacebookUtils$1@2a6d3adb
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)

您應該將ParseFacebookUtils初始化為Application類,而不是AppCompatActivity類。

您可以創建一個Java類並將其命名為Configs ,在清單中設置其名稱:

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

Configs類如下所示:

public class Configs extends Application {
…

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

    ParseFacebookUtils.initialize(this); 

    …
}

您應該將ParseFacebookUtils初始化為Application類。

但是,只需嘗試catch IllegalStateException即可避免應用程序崩潰。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM