gpt4 book ai didi

android - 首次登录 Facebook 后应用程序崩溃

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:02:47 24 4
gpt4 key购买 nike

有时(不是很频繁)我的 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

有 2 个不同的根异常:

有时与:

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

有时:

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

在大多数情况下,我的应用运行良好。

任何可能导致此问题的想法?

编辑:

list 中我的 facebook sdk conf:

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

Activity 代码:

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 中也遇到了这个错误。我有最新的 Fb android 客户端。有帮助吗?

最佳答案

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

关于android - 首次登录 Facebook 后应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18752977/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com