后的第一个Facebook登录应用程序崩溃 [英] App crashes after first Facebook Login

查看:249
本文介绍了后的第一个Facebook登录应用程序崩溃的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

有时候(不是很频繁),我第一次登录使用Facebook的登录(Facebook的SDK 3.5版)后,Facebook的Andr​​oid应用程序崩溃。

Sometimes (not very frequently) my android app crashes after first logging to facebook using Facebook Login (Facebook SDK version 3.5).

我收到异常:

java.lang.RuntimeException: Unable to resume activity {my.app.package/com.facebook.LoginActivity}: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=64206, result=0, data=null} to activity {my.app.package/com.facebook.LoginActivity}: java.lang.NullPointerException

2种不同的根异常:

with 2 different root exceptions:

有时候有:

java.lang.NullPointerException at com.facebook.AuthorizationClient.startOrContinueAuth(AuthorizationClient.java:135)

有时候:

Caused by: java.lang.NullPointerException at com.facebook.AuthorizationClient.logAuthorizationMethodComplete(AuthorizationClient.java:519)

在大多数情况下,我的应用程序工作正常。

In most cases my app is working fine.

任何想法可能会导致这个问题?

Any ideas what may cause this problem?

编辑:

在清单中我的Facebook SDK的conf:

My facebook sdk conf in manifest:

<activity
        android:name="com.facebook.LoginActivity"
        android:label="@string/app_name"
        android:theme="@android:style/Theme.Translucent.NoTitleBar" />
<meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/applicationId" />

活动code:

Activity code:

public class MainActivity extends FragmentActivity {

....

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    initSession(savedInstanceState);
    ...
}



private void initSession(Bundle savedInstanceState) {

    Settings.addLoggingBehavior(LoggingBehavior.INCLUDE_ACCESS_TOKENS);

    Session session = Session.getActiveSession();
    if (session == null) {
        if (savedInstanceState != null) {
            session = Session.restoreSession(this, null, statusCallback, savedInstanceState);
        }
        if (session == null) {
            session = new Session(this);
        }
        Session.setActiveSession(session);
        if (session.getState().equals(SessionState.CREATED_TOKEN_LOADED)) {
            session.openForRead(new Session.OpenRequest(this).setCallback(statusCallback));
        }
    }

}


@Override
public void onStart() {
    super.onStart();
    Session session = Session.getActiveSession();
    if (session != null) {
        session.addCallback(statusCallback);
    }

}

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    Session session = Session.getActiveSession();
    if (session != null) {
        session.onActivityResult(this, requestCode, resultCode, data);
    }

}

@Override
public void onStop() {
    super.onStop();


    Session session = Session.getActiveSession();
    if (session != null) {
        session.removeCallback(statusCallback);
    }

}

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    Session session = Session.getActiveSession();
    Session.saveSession(session, outState);
}

...

}

我也得到了这个错误与Facebook的SDK previous版本。我有最新的Fb的Andr​​oid客户端。任何帮助?

I also got this error with previous version of Facebook SDK. I have latest Fb android client. Any help?

推荐答案

的Facebook刚刚发布V3.5.1他们的Andr​​oid SDK昨天,解决你的问题。他们更改日志没有给出什么地方发生了太多的信息错了,但人们一直在报道这个bug,他们也说,这将是固定在以后的版本(来源)。但无论如何,看着V3.5和V3.5.1之间的diff文件,他们似乎有固定的线路周围的135和519检查出的更改日志的完整列表。可能是一个不错的主意从来没有升级到来自Facebook的一个显著的版本,直到他们释放他们的第一个补丁吧。

Facebook just released v3.5.1 of their Android SDK yesterday that addresses your issues. Their Change Log doesn't give much information about what went wrong, but people have been reporting this bug and they did say it would be fixed in a later version (source). But anyway, looking at the diffs between v3.5 and v3.5.1 they seem to have fixed code around lines 135 and 519. Check out the Change Log the complete list. Probably a good idea never to upgrade to a significant version from Facebook until they release their first patch to it.

这篇关于后的第一个Facebook登录应用程序崩溃的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆