2017-08-21 5 views
0

J'ai construit deux saveurs différentes de la même application, en cours d'exécution sur le même appareil. Si je me déconnecte d'une application, elle déconnecte également l'autre application. Dans mon application, la déconnexion est un appel réseau. Lorsque je clique sur un bouton de déconnexion, je peux voir les appels réseau pour les deux applications. J'utilise Retrofit pour faire des appels réseau. Une fois que vous avez cliqué sur la déconnexion, j'appuie sur l'événement Déconnexion sur eventbus et MainLandingActivity y est inscrit.La déconnexion d'une saveur androïde déconnecte l'autre saveur sur le même appareil

@Override 
public void onClick(DialogInterface dialogInterface, int i) { 
           showSimpleProgressDialog(context); 
    EventBus eventBus = EventBus.getDefault(); 
    LogoutEvent logoutEvent = new LogoutEvent(false, context); 
    eventBus.post(logoutEvent); 
} 

Voici le code d'abonnement

@Subscribe 
public void onLogout(LogoutEvent logoutEvent) { 
    try { 
     if (NetworkReceiver.isConnected) { 
       Intent intent = new Intent(this, UploadDataService.class); 
       intent.putExtra(Const.SERVICE_KEY, Const.MAIN_LANDING_LOGOUT); 
       startService(intent); 
      } else { 
       RUtils.removeSimpleProgressDialog(); 
       RUtils.showSnackbar(rvMainLanding, getString(R.string.logout_no_internet_error), Snackbar.LENGTH_LONG); 
      } 

    } catch (Exception e) { 
     e.printStackTrace(); 
     Crashlytics.logException(e); 
     RUtils.removeSimpleProgressDialog(); 
     RUtils.showSnackbar(rvMainLanding, getString(R.string.logout_failed_error), Snackbar.LENGTH_LONG); 
    } 
} 

Répondre

0

obtenu ce travail, UploadDataService envoyait diffusion mondiale pour fermeture de session. Remplacé par LocalBroadcastManager et il a résolu le problème.