diff --git a/android/src/main/java/com/reactnativecomponent/splashscreen/RCTSplashScreen.java b/android/src/main/java/com/reactnativecomponent/splashscreen/RCTSplashScreen.java index 32c2e83..c36ea94 100644 --- a/android/src/main/java/com/reactnativecomponent/splashscreen/RCTSplashScreen.java +++ b/android/src/main/java/com/reactnativecomponent/splashscreen/RCTSplashScreen.java @@ -31,6 +31,10 @@ protected static Activity getActivity() { return wr_activity.get(); } + protected static boolean hasActivity() { + return (wr_activity != null); + } + public static void openSplashScreen(Activity activity) { openSplashScreen(activity, false); } @@ -49,7 +53,7 @@ public static void openSplashScreen(final Activity activity, final boolean isFul activity.runOnUiThread(new Runnable() { public void run() { - if(!getActivity().isFinishing()) { + if(hasActivity() && !getActivity().isFinishing()) { Context context = getActivity(); imageView = new ImageView(context); @@ -78,9 +82,10 @@ public void run() { } public static void removeSplashScreen(Activity activity, final int animationType,final int duration) { - if (activity == null) { + if (hasActivity()) { activity = getActivity(); - if(activity == null) return; + } else { + return; } activity.runOnUiThread(new Runnable() { public void run() {