react nativeでMainActivityを触ることがある。
react-native-fbsdkではCallbackManagerという、
Facebookログイン実行後のコールバックなどに必要な設定を行う。
react-native-navigationを利用すると、
MainActivityに実装した設定が反映されない。
*そのように感じただけで未検証です。
そのため、MainActivityに書くはずの設定を、MainApplicationに記載した。
react-native-navigationを導入した後で、
react-native-fbsdkを導入する例を記載しておく。
>MainApplicationのNavigationApplicationのonCreateを下記のように修正
setActivityCallbacksを追加して、MainActivityで受け取れるcallbackをMainApplicationで受け取れるようにする。
@Override
public void onCreate() {
super.onCreate();
SoLoader.init(this, /* native exopackage */ false);
setActivityCallbacks(new ActivityCallbacks() {
@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
mCallbackManager.onActivityResult(requestCode, resultCode, data);
}
});
FacebookSdk.sdkInitialize(getApplicationContext());
}