1. S'il s'agit d'une constante, vous pouvez écrire une classe Constant pour la stocker spécifiquement. 2. Vous pouvez ouvrir l'activité dans l'ordre via startActivityForResult. Lors du retour, vous pouvez la juger et la transférer dans onActivity en fonction des données de l'Intent, du requestCode et du resultCode, mais le code n'est certainement pas suffisamment rafraîchissant.
Les exigences ne sont pas particulièrement claires. Le scénario est très similaire au scénario de connexion et d'inscription : cliquez sur la page de connexion, oubliez le mot de passe, puis terminez l'opération et revenez directement pour terminer la connexion.
Si BC n'a aucune exigence d'interaction lors du retour et n'a pas d'exigences particulières pour A, alors définissez directement launchMode sur singleInstance ou singleTop (le traitement est différent du premier) combiné avec Activity#onNewIntent(...)Réalisons cela
Si vous avez des exigences d'interaction, revenez simplement niveau par niveau.
De plus, vous pouvez également utiliser directement la bibliothèque EventBus (EventBus, otto, RxBus sont tous acceptables. Vous pouvez également envisager d'utiliser EventBus dans des scénarios où LocalBroadcastManager), mais vous devez considérer A en cas de blocage Scénario de traitement après recyclage du système.
p.s. Éliminez simplement le besoin de méthodes globales statiques....
Bibliothèque qui utilise le bus d'événements, il est recommandé d'utiliser Eventbus
Avantages :
La sérialisation des données transmises n'est pas nécessaire
Utilisez le modèle d'observateur pour découpler
1. S'il s'agit d'une constante, vous pouvez écrire une classe Constant pour la stocker spécifiquement.
2. Vous pouvez ouvrir l'activité dans l'ordre via startActivityForResult. Lors du retour, vous pouvez la juger et la transférer dans onActivity en fonction des données de l'Intent, du requestCode et du resultCode, mais le code n'est certainement pas suffisamment rafraîchissant.
Si BC n'a aucune exigence d'interaction lors du retour et n'a pas d'exigences particulières pour A, alors définissez directement
launchMode
sursingleInstance
ousingleTop
(le traitement est différent du premier) combiné avecActivity#onNewIntent(...)
Réalisons celaSi vous avez des exigences d'interaction, revenez simplement niveau par niveau.
De plus, vous pouvez également utiliser directement la bibliothèque EventBus (
EventBus
,otto
,RxBus
sont tous acceptables. Vous pouvez également envisager d'utiliser EventBus dans des scénarios oùLocalBroadcastManager
), mais vous devez considérer A en cas de blocage Scénario de traitement après recyclage du système.p.s. Éliminez simplement le besoin de méthodes globales statiques....