2012-05-03 3 views
0

Je suis actuellement en train de programmer Android. J'utilise le service C2DM pour envoyer une notification à mon application. Lorsque je réponds à la notification, je souhaite établir une connexion avec un serveur qui envoie des images en continu chaque fois que j'envoie un http. Est-ce que je peux faire ceci en utilisant un Asynctask avec un certain temps (! UserDisconnect)? Ou pourrais-je vérifier quand l'asyncote est terminée et recommencer? Je ne suis pas sûr, je pense que ça va tourner très lentement avec une boucle while?Gardez la connexion tcp ouverte jusqu'à la déconnexion Android

+0

Je voudrais essayer cette première et laissez-nous savoir comment ça se passe. De même, si vous travaillez dans une activité ou un service, vous pouvez remplacer onDestroy() ou finish(), puis appeler .cancel() sur votre AsyncTask. http://developer.android.com/reference/android/os/AsyncTask.html Je pense que vous vous dirigez dans la bonne direction. Tenez-nous au courant de ce qui se passe. –

+0

Je l'ai essayé de cette façon, mais je reçois beaucoup d'erreurs lorsque je veux exécuter mon application. –

Répondre

0

J'ai trouvé la réponse moi-même:

private OnClickListener getlistener = new OnClickListener() { 

public void onClick(View v) { 
    mHandler.removeCallbacks(mUpdateTimeTask); 
    mHandler.postDelayed(mUpdateTimeTask, 1000); 

} 
}; 

private Runnable mUpdateTimeTask = new Runnable() { 
    public void run() { 
     if (response != null) 
     { 
      getal++; 
      response.setText("Hallo" + getal); 
      new NetworkTask().execute(); 
      //network(); 
     Log.i("Runnable", "OKE"); 
     mHandler.postAtTime(this, SystemClock.uptimeMillis() + 100); 
     } 
     else 
     { 
      Log.i("Runnable", "NULL"); 
     } 
    } 
}; 
Questions connexes