diff --git a/android/src/main/java/com/facebook/reactnative/androidsdk/FBAccessTokenModule.java b/android/src/main/java/com/facebook/reactnative/androidsdk/FBAccessTokenModule.java index 49cecbb4..8dd8ac21 100644 --- a/android/src/main/java/com/facebook/reactnative/androidsdk/FBAccessTokenModule.java +++ b/android/src/main/java/com/facebook/reactnative/androidsdk/FBAccessTokenModule.java @@ -61,9 +61,15 @@ public void initialize() { accessTokenTracker = new AccessTokenTracker() { @Override protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken currentAccessToken) { - mReactContext - .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class) - .emit(CHANGE_EVENT_NAME, currentAccessToken == null ? null : Utility.accessTokenToReactMap(currentAccessToken)); + try { + mReactContext + .getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class) + .emit(CHANGE_EVENT_NAME, currentAccessToken == null ? null : Utility.accessTokenToReactMap(currentAccessToken)); + } catch (RuntimeException ex) { + // It is possible that the react context might not have initialized when this + // event is broadcasted from AccessTokenTracker, so rather than crashing with + // an error message, ignoring the change + } } };