2010-10-25 5 views
0

J'ai un gestionnaire dans une activité, et je voudrais utiliser sendBroadcast afin de démarrer le récepteur d'une autre application (APK différent).Intention de diffusion à l'intérieur d'un gestionnaire

Je ne peux pas faire cela puisque je suis dans un gestionnaire et je suis perdre la portée de mon activité.

Une idée de comment je pourrais réaliser cette idée?

du code:

private Handler mHandler = new Handler() { 
    public void handleMessage(Message msg) { 
     switch (msg.what) { 
      case INSTALL_COMPLETE: 
       // here I wanna start my extern application via broadcasting!! 

       startApplication(); 
       break; 
      default: 
       break; 
     } 
    } 

si la diffusion ne fonctionnera pas par gestionnaire, d'autres idées sont les bienvenues,

merci.

Répondre

0

C'était mon erreur, Je peux utiliser startBroadcast/application/service dans Handler.

merci quand même:

private final int INSTALL_COMPLETE = 1; 
private Handler mHandler = new Handler() 
{ 
    public void handleMessage(Message msg) 
    { 
     switch (msg.what) 
     { 
      case INSTALL_COMPLETE: 

       // finish the activity posting result 
       // setResultAndFinish(msg.arg1); 
       startApplication(); 
       break; 
      default: 
       break; 
     } 
    } 

    private void startApplication() 
    { 
     String intentName = g_szIntentName; 
     Intent i = new Intent(intentName); 
     i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     sendBroadcast(i); 
    } 
}; 
Questions connexes