Il mio problema è che ho bisogno di inviare messaggi con un ritardo di 1 secondo. Il conduttore inizia quindi un'azione, ottieni l'immagine.Come eliminare i messaggi in ritardo prima che arrivino a un gestore?
Esistono tuttavia alcune condizioni in cui il messaggio già inviato deve essere eliminato (prima del secondo trascorso) per impedire al gestore di eseguire operazioni. Non riuscivo a capire come fare questo (o se è anche possibile), quindi se qualcuno di voi ha un indizio, per favore fatemelo sapere ..
Sarebbe utile se ci fosse più documentazione su questi metodi, se il parametro "cosa" fosse disponibile su tutti i meccanismi di aggancio (es. PostRunnable()), se la distinzione tra "cosa" e "token" fosse più chiara, ecc. Se devo frugare attraverso il codice sorgente di Android per capire cosa sta facendo Handler oggi, ciò significa che non ho garanzie che tale comportamento non documentato rimarrà coerente domani. Quindi, removeMessages() sono, IMHO, spaventosi per gli sviluppatori su cui fare affidamento. Non ci vorrà molto per chiarire questo, ma non posso prendere decisioni per ciò che è e non è un comportamento appropriato dell'handler. – CommonsWare
che la tua ultima frase ha reso la mia giornata, chiaramente. Però, inoltre, sono d'accordo con il fatto che la documentazione è davvero insufficiente in quel campo, forse dovrei semplicemente presentare un ticket. – moritz
Non c'è motivo di avere un "cosa" quando pubblichi un Runnable, devi solo rimuovere removeCallback() per questo. Che cosa esattamente non è garantito dalla documentazione? –