2010-08-10 6 views
3

Dites MyService et MyClient sont tous deux en cours d'exécution, bien que MyClient soit actuellement en arrière-plan. Si MyService envoie une intention de MyClient via:Android: Comment passer Intent via startActivity() à une activité en cours?

Intent i = new Intent(MYService.this, MyClient.class); 
i.setAction("com.test.MyService.ACTION_SERVICE"); 
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(i); 

Comment puis-je obtenir cette intention dans MyClient? L'exécution de ce code déclenche onResume() dans MyClient, mais parce qu'il est déjà en cours d'exécution, appelant getIntent() renvoie l'intention qui initialement créé MyClient, qui est toujours android.intent.action.MAIN

Répondre

7

override onNewIntent() et assurez-vous que vous marquez l'intention afin qu'il n » t créer une nouvelle instance de votre activité

Questions connexes