L'application mobile permet à l'utilisateur de télécharger la pièce jointe à partir de la télécommande.Connexion avec un serveur distant et le téléchargement du contenu s'effectue dans un thread séparé. montré à l'utilisateur avec la commande d'annulation. Ici, je fournis le pseudo code.Arrêt d'un thread lorsque la commande d'annulation est déclenchée par l'utilisateur
new Thread(new Runnable()
public void run(){
try{
//open connection to remote server
//get data input stream
//create byte array of length attachment size
//show modeless dialog with the message "Downloading..."
for(int i=0;i<attachmentSize;i++){
//set the progress indicator of the modeless dialog based upon for iteration
//read the byte from input stream and store it in byte array
}
//open file connection outputstream and store the downloaded content as a file in mobile file system
//show dialog with the message "attachment successfully downloaded"
}
catch(IOException ioe) { }
catch(Exception ex) { }
}
).start();
Maintenant, je suis en train d'ajouter une commande d'annulation à la boîte de dialogue avec indicateur de progression. Lorsque l'utilisateur clique sur la commande "Annuler" dans un mobile, une boîte de dialogue non modale peut être supprimée en appelant la méthode dispose(). Comment puis-je arrêter brusquement le thread qui reçoit les pièces jointes par e-mail en streaming? Merci de m'aider à résoudre ce problème.