mirror of
				https://gitcode.com/gh_mirrors/re/react-native-pushy.git
				synced 2025-10-31 21:33:12 +08:00 
			
		
		
		
	feat: add restartApp (#488)
This commit is contained in:
		| @@ -176,6 +176,35 @@ public class UpdateModuleImpl { | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     public static void restartApp(final ReactApplicationContext mContext, Promise promise) { | ||||
|           UiThreadUtil.runOnUiThread(new Runnable() { | ||||
|               @Override | ||||
|               public void run() { | ||||
|                   try { | ||||
|                       final Context application = mContext.getApplicationContext(); | ||||
|                       ReactInstanceManager instanceManager = ((ReactApplication) application).getReactNativeHost().getReactInstanceManager(); | ||||
|  | ||||
|                       instanceManager.recreateReactContextInBackground(); | ||||
|                       promise.resolve(true); | ||||
|  | ||||
|                   } catch (Throwable err) { | ||||
|                       promise.reject("restartApp failed: "+err.getMessage()); | ||||
|                       Log.e("pushy", "restartApp failed", err); | ||||
|  | ||||
|                       final Activity currentActivity = mContext.getCurrentActivity(); | ||||
|                       if (currentActivity == null) { | ||||
|                           return; | ||||
|                       } | ||||
|                       currentActivity.runOnUiThread(new Runnable() { | ||||
|                           @Override | ||||
|                           public void run() { | ||||
|                               currentActivity.recreate(); | ||||
|                           } | ||||
|                       }); | ||||
|                   } | ||||
|               } | ||||
|           }); | ||||
|       } | ||||
|  | ||||
|     public static void setNeedUpdate(UpdateContext updateContext, ReadableMap options, Promise promise) { | ||||
|         final String hash = options.getString("hash"); | ||||
|   | ||||
| @@ -97,6 +97,11 @@ public class UpdateModule extends NativePushySpec { | ||||
|         UpdateModuleImpl.reloadUpdate(updateContext, mContext, options,promise); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void restartApp(Promise promise) { | ||||
|         UpdateModuleImpl.restartApp(updateContext, mContext, promise); | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public void setNeedUpdate(ReadableMap options,Promise promise) { | ||||
|         UpdateModuleImpl.setNeedUpdate(updateContext, options,promise); | ||||
|   | ||||
| @@ -224,6 +224,29 @@ public class UpdateModule extends ReactContextBaseJavaModule { | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     @ReactMethod | ||||
|     public void restartApp(final Promise promise) { | ||||
|  | ||||
|         UiThreadUtil.runOnUiThread(new Runnable() { | ||||
|             @Override | ||||
|             public void run() { | ||||
|                 try { | ||||
|                     final Context application = getReactApplicationContext().getApplicationContext(); | ||||
|                     ReactInstanceManager instanceManager = updateContext.getCustomReactInstanceManager(); | ||||
|                     if (instanceManager == null) { | ||||
|                         instanceManager = ((ReactApplication) application).getReactNativeHost().getReactInstanceManager(); | ||||
|                     } | ||||
|                     instanceManager.recreateReactContextInBackground(); | ||||
|                     promise.resolve(true); | ||||
|  | ||||
|                 } catch (Throwable err) { | ||||
|                     promise.reject(err); | ||||
|                     Log.e("pushy", "restartApp failed ", err); | ||||
|                 } | ||||
|             } | ||||
|         }); | ||||
|     } | ||||
|  | ||||
|     @ReactMethod | ||||
|     public void setNeedUpdate(ReadableMap options) { | ||||
|         final String hash = options.getString("hash"); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 陈赳赳
					陈赳赳