diff --git a/android/src/main/java/cn/reactnative/modules/update/UpdateModuleImpl.java b/android/src/main/java/cn/reactnative/modules/update/UpdateModuleImpl.java index a681a48..5ea8ebe 100644 --- a/android/src/main/java/cn/reactnative/modules/update/UpdateModuleImpl.java +++ b/android/src/main/java/cn/reactnative/modules/update/UpdateModuleImpl.java @@ -117,8 +117,7 @@ public class UpdateModuleImpl { public void run() { try { updateContext.switchVersion(hash); - Activity activity = mContext.getCurrentActivity(); - Application application = activity.getApplication(); + final Application application = (Application) getReactApplicationContext().getApplicationContext(); ReactInstanceManager instanceManager = updateContext.getCustomReactInstanceManager(); if (instanceManager == null) { @@ -142,7 +141,9 @@ public class UpdateModuleImpl { promise.resolve(true); } catch (Throwable err) { promise.reject("pushy:"+err.getMessage()); - activity.recreate(); + if (activity != null) { + activity.recreate(); + } } } catch (Throwable err) { diff --git a/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java b/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java index 2736f1d..2030be8 100644 --- a/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java +++ b/android/src/oldarch/cn/reactnative/modules/update/UpdateModule.java @@ -176,8 +176,7 @@ public class UpdateModule extends ReactContextBaseJavaModule { public void run() { try { updateContext.switchVersion(hash); - Activity activity = getCurrentActivity(); - Application application = activity.getApplication(); + final Application application = (Application) getReactApplicationContext().getApplicationContext(); ReactInstanceManager instanceManager = updateContext.getCustomReactInstanceManager(); if (instanceManager == null) { @@ -200,7 +199,9 @@ public class UpdateModule extends ReactContextBaseJavaModule { instanceManager.recreateReactContextInBackground(); promise.resolve(null); } catch (Throwable err) { - activity.recreate(); + if (activity != null) { + activity.recreate(); + } promise.reject(err); }