gpt4 book ai didi

Android - Facebook 登录仅在第一次导致 onResume 错误

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:39:04 30 4
gpt4 key购买 nike

我可以成功连接到 facebook 并获取好友列表。所有连接都正常。但是当我删除 Facebook 的数据(通过设置-> 应用程序)和我的应用程序时,会出现登录问题。 [SDK 3.5]

  1. 启动我的应用
  2. 建立 Facebook 连接
  3. Facebook 要求输入用户名和密码
  4. 稍等
  5. 它显示权限屏幕,要求提供基本用户信息,并出现错误:“您的应用程序意外停止工作。请重试(强制关闭)”

当我单击强制关闭时,同样的错误突然一次又一次地发生(而权限屏幕仍在后面)。如果我够快,我单击强制关闭,然后单击允许权限,一切正常,我可以看到我的 friend 。所以这个 FORCE CLOSE 错误意味着什么都没有?在日志中,有 3-4 条相同的 Fatal Exception 消息,因为每次我单击 FORCE CLOSE 时,错误都会再次发生。当我在我的手机(SE Xperia Arc S,2.3.3)上尝试应用程序时会发生此错误。但是当我尝试使用模拟器时,不会发生错误。它可以正常工作。 (模拟器是 2.3.3 和 4.2)

    09-04 18:09:47.916 E/AndroidRuntime(29511): FATAL EXCEPTION: main
09-04 18:09:47.916 E/AndroidRuntime(29511): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException
09-04 18:09:47.916 E/AndroidRuntime(29511): Caused by: java.lang.NullPointerException
09-04 18:09:47.916 E/AndroidRuntime(29511): ... 12 more
09-04 18:09:51.526 E/AndroidRuntime(29538): FATAL EXCEPTION: main
09-04 18:09:51.526 E/AndroidRuntime(29538): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException
09-04 18:09:51.526 E/AndroidRuntime(29538): Caused by: java.lang.NullPointerException
09-04 18:09:51.526 E/AndroidRuntime(29538): ... 12 more
09-04 18:09:53.786 E/AndroidRuntime(29547): FATAL EXCEPTION: main
09-04 18:09:53.786 E/AndroidRuntime(29547): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException
09-04 18:09:53.786 E/AndroidRuntime(29547): Caused by: java.lang.NullPointerException
09-04 18:09:53.786 E/AndroidRuntime(29547): ... 12 more
09-04 18:09:55.516 E/AndroidRuntime(29557): FATAL EXCEPTION: main
09-04 18:09:55.516 E/AndroidRuntime(29557): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException
09-04 18:09:55.516 E/AndroidRuntime(29557): Caused by: java.lang.NullPointerException
09-04 18:09:55.516 E/AndroidRuntime(29557): ... 12 more
09-04 18:09:57.776 E/AndroidRuntime(29564): FATAL EXCEPTION: main
09-04 18:09:57.776 E/AndroidRuntime(29564): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException
09-04 18:09:57.776 E/AndroidRuntime(29564): Caused by: java.lang.NullPointerException
09-04 18:09:57.776 E/AndroidRuntime(29564): ... 12 more
09-04 18:09:59.186 E/dalvikvm(29571): Could not find class 'dalvik.system.BaseDexClassLoader', referenced from method com.facebook.common.dextricks.SystemClassLoaderAdder.a
09-04 18:09:59.586 E/dalvik-internals(29571): Failed to look up ladDumpProfiles
09-04 18:09:59.586 E/dalvik-internals(29571): Failed to look up ladResetProfiles
09-04 18:09:59.586 E/dalvik-internals(29571): Failed to look up ladPrintHeaderInfo
09-04 18:09:59.936 E/AndroidRuntime(29578): FATAL EXCEPTION: main
09-04 18:09:59.936 E/AndroidRuntime(29578): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException
09-04 18:09:59.936 E/AndroidRuntime(29578): Caused by: java.lang.NullPointerException
09-04 18:09:59.936 E/AndroidRuntime(29578): ... 12 more
09-04 18:10:02.006 E/AndroidRuntime(29585): FATAL EXCEPTION: main
09-04 18:10:02.006 E/AndroidRuntime(29585): java.lang.RuntimeException: Unable to resume activity {com.ilanharitasi/com.facebook.LoginActivity}: java.lang.NullPointerException
09-04 18:10:02.006 E/AndroidRuntime(29585): Caused by: java.lang.NullPointerException
09-04 18:10:02.006 E/AndroidRuntime(29585): ... 12 more
09-04 18:10:04.566 E/ONRESUME(29605): Onresume worked
09-04 18:10:04.636 E/STATEM (29605): OPENING
09-04 18:10:05.186 E/ONRESUME(29605): Onresume worked

第一次连接后,我可以毫无错误地找到我的 friend 。它只发生在我第一次连接 Facebook 并询问我的用户名和密码(然后单击登录)

@Override
public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);
uiHelper = new UiLifecycleHelper(this, callback);
uiHelper.onCreate(savedInstanceState);

setContentView(R.layout.activity_fb_findfriends);
LinearLayout v = (LinearLayout) findViewById(R.id.fb_app_users);
openSession(v);

}

public void openSession(View v){
// start Facebook Login
Session.openActiveSession(this, true, callback);

}

@Override
protected void onResume() {
super.onResume();
uiHelper.onResume();
Log.e("ONRESUME", "Onresume çalıştı");
}

private void requestMyAppFacebookFriends(Session session) {
Request friendsRequest = createRequest(session);
friendsRequest.setCallback(new Request.Callback() {

@Override
public void onCompleted(Response response) {

List<GraphUser> friends = getResults(response);
//Display Friends
}
});
friendsRequest.executeAsync();
}

我也无法理解日志输出中的空值是什么。

更新!我找到了发生错误的行。它位于 com.facebook.AuthorizationClient.java 第 135 行内

void startOrContinueAuth(AuthorizationRequest request) {
if (appEventsLogger == null || appEventsLogger.getApplicationId() != request.getApplicationId()) {
Log.e("HATA!", "BOOM");
appEventsLogger = AppEventsLogger.newLogger(context, request.getApplicationId());
}

并且这个 startOrContinueAuth 方法在 com.Facebook.LoginActivity 中触发

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

// If the calling package is null, this generally means that the callee was started
// with a launchMode of singleInstance. Unfortunately, Android does not allow a result
// to be set when the callee is a singleInstance, so we log an error and return.
if (callingPackage == null) {
Log.e(TAG, "Aheyy"+NULL_CALLING_PKG_ERROR_MSG);
finish();
return;
}

authorizationClient.startOrContinueAuth(request);
}
if (getInProgress()) {
continueAuth();
} else {
authorize(request);
}
}

更新 2!

  • 我很困惑。我将我的应用程序简化为最基本的openActiveSession() 方法。崩溃
  • 我尝试了 Facebook、FriendPicker 的示例应用程序,它也崩溃并输出相同的日志错误。
  • 在模拟器上试过,它可以工作,但是当我旋转屏幕时授权屏幕出现(取消-允许),发生同样的错误(无法到 onResume blah blah ...)在 Facebook 的示例应用程序上出现相同的错误很奇怪

最佳答案

我认为这不是您的应用程序的问题。人们一直在报告这个错误,我刚刚回答了一个类似的问题 here .基本上,Facebook 昨天发布了新版本的 SDK,修复了 AuthorizationClient 中的 onResume NPE 崩溃。查看升级是否解决了您的问题。

关于Android - Facebook 登录仅在第一次导致 onResume 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18617807/

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