mehcode / rn-splash-screen

A JavaScript-controlled splash-screen for React Native designed to be run directly after the native splash-screen.
MIT License
350 stars 95 forks source link

On reloading app showing white screen not the splashscreen #55

Open adityak16 opened 6 years ago

adityak16 commented 6 years ago

rn-splash-screen working fine on both android & ios but on "Android" splash screen comes while starting of the app but on reloading it showing white screen.

react-native: 0.45.1 rn-splash-screen: It's forked repo.

changed part is in Bold : /rn-splash-screen/android/src/main/java/com/mehcode/reactnative/splashscreen/SplashScreenPackage.java The file contains:

package com.mehcode.reactnative.splashscreen; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.support.v4.content.LocalBroadcastManager; import com.facebook.react.bridge.JavaScriptModule; import com.facebook.react.ReactPackage; import com.facebook.react.bridge.NativeModule; import com.facebook.react.bridge.ReactApplicationContext; import com.facebook.react.uimanager.ViewManager; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class SplashScreenPackage implements ReactPackage { @Override public List<Class<? extends JavaScriptModule>> createJSModules() { return Collections.emptyList(); } @Override public List createViewManagers(ReactApplicationContext reactContext) { return Collections.emptyList(); } @Override public List createNativeModules( ReactApplicationContext reactContext) { List modules = new ArrayList<>(); modules.add(new SplashScreenModule(reactContext)); return modules; } }

And MainActivity.java contains:

package social.xyz.app; import com.facebook.react.ReactActivity; import android.content.Intent; import android.graphics.Color; import android.os.Bundle; import com.facebook.react.ReactInstanceManager; import com.facebook.react.bridge.ReactContext; import com.mehcode.reactnative.splashscreen.SplashScreen; public class MainActivity extends ReactActivity { /**

  • Returns the name of the main component registered from JavaScript.
  • This is used to schedule rendering of the component. */ @Override protected void onCreate(Bundle savedInstanceState) { // Show the js-controlled splash screen SplashScreen.show(this, getReactInstanceManager()); super.onCreate(savedInstanceState); } @Override public void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); MainApplication.getCallbackManager().onActivityResult(requestCode, resultCode, data); } @Override protected String getMainComponentName() { return "xyz"; } }

@mehcode please have a look at this.

DanNi0130 commented 6 years ago

Having this same issue @mehcode any pointers on how to implement this?