Sono appena stato bruciato da un widget. Ho potuto vedere la causa del problema, ma non sono riuscito a determinare il motivo o la sua soluzione. Il mio widget stava emettendo una ricerca (SearchManager) e l'attività ha lanciato una finestra di ricerca, ma quando ha richiamato il mio widget, ha creato un altro riferimento al widget (cioè, l'ID del thread era lo stesso, ma l'id del widget cambiato da 65 a 0).Quando è necessario utilizzare singleTop launchMode in un widget o un'applicazione Android?
Questo mi ha portato a credere che si stava creando una nuova istanza e ho cercato nella documentazione le impostazioni applicabili al problema. Alla fine, mi sono imbattuto nello android:launchMode="singleTop"
e non appena l'ho impostato su AndroidManifest, viola! Il mio widget ha funzionato.
Questo mi ha portato la parte migliore di due giorni per eseguire il debug.
Ci sono altre situazioni o c'è una risposta tecnicamente più corretta al mio problema?
Non penso che il titolo della domanda sia utile per i contenuti. Speravo di vedere una domanda e risposte sui casi d'uso appropriati per singleTop. Questo è un po 'di narrativa di sviluppo e quindi una citazione dalla documentazione. – helloPiers
@ Lotto105 - abbastanza giusto. Vai avanti e aggiungi alcune risposte. È stato un grosso problema che ho riscontrato, così ho fatto "chiedi e rispondi alla tua stessa domanda" come suggerito da SO. Sono certo che il/i contributo/i della tua risposta e altri miglioreranno questa sessione di domande e risposte. Ha avuto oltre 3000 visualizzazioni, quindi c'è chiaramente interesse. Dubito che la mia risposta sia * SOLO * risposta :) E naturalmente, è un riferimento e una citazione dal doc poiché è lì che ho ottenuto la mia risposta. Personalmente, trovo un valore reale in questo stile/risposta in quanto chiarisce DOC. – mobibob
Avrei dovuto essere più chiaro. La domanda corpo e risposta sono utili e interessanti di per sé, assolutamente. – helloPiers