2013-11-15 1 views
0

Я пытаюсь сделать логин с facebook, и у меня есть проблема.Facebook SDK - LoginActivity - исключение null указателя ANDROID

Когда я нажимаю кнопку, открывается действие входа в систему по умолчанию facebook. Когда я нажимаю назад, он возвращается к активности. Я могу попытаться снова войти в систему, но когда я переключу ориентацию на пейзаж и вернусь, приложение вылетает с этой ошибкой

11-15 09: 48: 48.249: E/AndroidRuntime (32063): FATAL EXCEPTION: main 11- 15 09: 48: 48.249: E/AndroidRuntime (32063): java.lang.RuntimeException: невозможно возобновить действие {org.eucila.activity/com.facebook.LoginActivity}: java.lang.NullPointerException 11-15 09:48 : 48.249: E/AndroidRuntime (32063): at android.app.ActivityThread.performResumeActivity (ActivityThread.java:2790) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at android.app.ActivityThread.handleResumeActivity (ActivityThread.java:2819) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2266) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:3740) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at android.app.ActivityThread.access $ 700 (ActivityThread.java:141) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at android.app.ActivityThread $ H.handleMessage (ActivityThread.java:1262) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at android.os.Handler.dispatchMessage (Handler.java:99) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): у android .os.Looper.loop (Looper.java:137) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at android.app.ActivityThread.main (ActivityThread.java:5103) 11-15 09 : 48: 48.249: E/AndroidRuntime (32063): at java.lang.reflect.Method.invokeNative (собственный метод) 11-15 09: 48: 48.24 9: E/AndroidRuntime (32063): at java.lang.reflect.Method.invoke (Method.java:525) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): на com.android.internal. os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:737) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:553) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at dalvik.system.NativeStart.main (родной метод) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): вызвано: java .lang.NullPointerException 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at com.facebook.AuthorizationClient.startOrContinueAuth (AuthorizationClient.java:135) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at com.facebook.LoginActivity.onResume (LoginActivity.java:117) 11-15 09: 48: 48.249: E/AndroidRuntime (32 063): at android.app.Instrumentation.callActivityOnResume (Instrumentation.java:1192) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at android.app.Activity.performResume (Activity.java:5211) 11-15 09: 48: 48.249: E/AndroidRuntime (32063): at android.app.ActivityThread.performResumeActivity (ActivityThread.java:2780) 11-15 09: 48: 48.249: E/AndroidRuntime (32063):. .. 13 более

откапывал я ковшик, и кажется, что после того, как у вернуться, LoginActivity - onResume называется и вызывает метод AuthorizationClient

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

      if (getInProgress()) { 
       continueAuth(); 
      } else { 
       authorize(request); 
      } 
     } 

Этот метод получает запрос = нуль, и применение курса не может продолжаться. Теперь я прочитал, что эта ошибка должна быть исправлена, но это не так. Поэтому я задаюсь вопросом, есть ли какое-либо решение этого, я даже не могу заставить этот loginAtivity быть портретным режимом, поскольку его ориентация все еще переключается. Я использую facebook SDK 3.5.2

Спасибо за вашу помощь

+0

Вы уверены, что используете 3.5.2? Это было исправлено, и если вы посмотрите на код в Github, это не то же самое, что вы показываете выше: https://github.com/facebook/facebook-android-sdk/blob/master/facebook/src/ com/facebook/AuthorizationClient.java # L134 –

+0

Да, я тоже так думал, я использую 3.5.2, и проблема все еще сохраняется .. Я попробую этот 3.6.0 сейчас :) –

+0

Я только что попробовал это https: // developers.facebook.com/docs/android/ Кажется, он исправляет проблему, теперь активность входа в систему заблокирована в портретном режиме, и когда вы возвращаетесь, авария не происходит :) –

ответ

0

Я просто попытался это developers.facebook.com/docs/android Кажется, что устраняет проблему, тем Войти деятельность теперь заперта в портретном режиме и, когда и вернуться на crash does not happen :)

+0

Есть еще одна вещь, которую я заметил, что это авария, похоже, приходит на некоторые устройства, а некоторые нет, например, эта ошибка по-прежнему живет на nexus7, но не происходит на вкладке galaxy galaxy и некоторых других. Так что здесь ничего не поделаешь. grrr .. –

+0

Вы правы, но при отладке на Nexus 4 я получаю имя пользователя, однако исключение null-указателя все равно происходит. – Signcodeindie