Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了安卓 – 第一次Facebook登录后应用程序崩溃大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
有时(不是非常频繁)我的 Android应用程序在首次使用Facebook登录(Facebook SDK版本3.5)登录到Facebook后崩溃.

我得到例外:

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

有两个不同的根例外:

有时用:

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

而有时:

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

在大多数情况下,我的应用程序运行正常

什么想法可能导致这个问题?

编辑:

我的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" />

活动代码

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,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中遇到此错误.我有最新的Fb android客户端.有帮助吗?

解决方法

Facebook刚刚发布了他们的Android SDK v3.5.1,解决了您的问题.他们的 Change Log没有提供有关出错的大量信息,但是人们一直在报告这个错误,他们确实说它将(source)的更高版本中修复.但无论如何,看看v3.5和v3.5.1之间的差异他们似乎在第135和519行附近有固定代码.查看完整列表中的 Change Log.可能一个好主意永远不会从Facebook升级到重要版本,直到他们发布他们的第一个补丁.

大佬总结

以上是大佬教程为你收集整理的安卓 – 第一次Facebook登录后应用程序崩溃全部内容,希望文章能够帮你解决安卓 – 第一次Facebook登录后应用程序崩溃所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。