Programmatisch neu Starten, Reagieren Nativen App
Ist es möglich, programmgesteuert neu starten, Reagieren Nativen app ohne das schreiben von nativen code?
Zum Beispiel, ich weiß aus der Antwort auf diese Frage, dass ich starten Sie eine Android-app mit:
Intent i = getBaseContext().getPackageManager()
.getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
Kann ich tun das gleiche mit React Native?
- Ich bin auch gefragt, das gleiche für iOS
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie möchten, starten Sie einfach den JS-Teil, dann können Sie React Native-Paket Neu Zu Starten. Dies funktioniert auf beiden Android und iOS.
Wenn Sie wollen, um den Neustart der gesamten Anwendung gibt Es keine reagieren native-Pakete, ab sofort. Wenn Sie möchten, erstellen Sie auf Ihrem eigenen sind, dann überprüfen Sie den folgenden link
Bauen Sie die benutzerdefinierte Android-Modul für Reagieren Nativen
Wenn Sie finden, Schwierigkeiten beim schreiben der Basis von JAVA-code, können Sie erzeugen die boilerplate mit Reagieren Nativen Bibliothek Erstellen
Expo.Updates.reload()
Zusätzlich zu, was oben gesagt ist, können Sie starten die app mit Codepush etwa so:
In der Tat, das ist, wo React Native-Paket Neu Zu Starten hat seinen code aus.
Für iOS, Reagieren Native stellt eine "reload" - Methode über "DevSettings" https://github.com/facebook/react-native/blob/75f2da23c5d557862cf4b7bcdd8a1445b54d1c31/React/Modules/RCTDevSettings.mm#L240-L243
Können Sie ReactInstanceManager wie diese
Können Sie tun wie folgt:
und verwenden, wie Folgen Sie: