Est-il possible de redémarrer par programme une application React Native sans écrire de code natif?
Par exemple, je sais par la réponse à cette question que je peux redémarrer une application Android avec:
Intent i = getBaseContext().getPackageManager()
.getLaunchIntentForPackage( getBaseContext().getPackageName() );
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
Puis-je faire la même chose avec React Native?
Si vous voulez redémarrer uniquement la partie JS, vous pouvez utiliser React Native Restart Package . Cela fonctionnera à la fois sur Android et iOS.
Si vous voulez redémarrer toute l’application, il n’ya pas de paquet natif de réaction pour le moment. Si vous voulez créer vous-même, cochez le lien suivant
Construction du module Android personnalisé pour React Native
Si vous rencontrez des difficultés pour écrire le code Java de base, vous pouvez générer le passe-partout à l’aide de React Native Create Library
En plus de ce qui a été dit ci-dessus, vous pouvez redémarrer l'application à l'aide de Codepush comme ceci:
import CodePush from 'react-native-code-Push';
CodePush.restartApp();
En fait, c'est là que React Native Restart Package a obtenu son code.
Vous pouvez utiliser ReactInstanceManager comme ceci
final ReactInstanceManager instanceManager = getReactInstanceManager();
instanceManager.recreateReactContextInBackground();