2010-07-11 19 views
7

Sono residente in Germania e pubblichiamo il "Last Call Widget" sull'Android Market. Sono stato costante nel migliorarlo nel tempo, ma un gruppo di utenti continua a lamentarsi di non lavorare sui propri dispositivi.Android: Un puzzle di Verizon Droid

Il mio widget ascolta l'intento "android.intent.action.PHONE_STATE", quindi imposta una sveglia per aggiornare l'ultima interfaccia utente della chiamata in 20 secondi, quindi 60 secondi, quindi 5 minuti, 1 ora, ecc. Funziona affidabile su tutti i miei dispositivi di test, anche con aggressori task aggressivi (provalo tu stesso). Purtroppo ho un gruppo di utenti con Motorola Droids sulla rete di Verizon che si lamentano del fatto che l'interfaccia utente non si aggiorna automaticamente.

Credo che Verizon sia una rete CDMA (abbiamo GSM qui in Europa), anche se i documenti API Android non specificano differenze di implementazione. Questo potrebbe anche essere un problema di driver sul Motorola Droid (abbiamo i Motorola Milestones GSM in Europa).

Mi chiedo se qualcuno che legge è in grado di offrire idee o testare il widget su una rete Droid e/o CDMA per vedere se è possibile riprodurre un problema (con i registri)?

saluti Mark

+0

Hai mai risolto questo? –

risposta

1

Beh, mentre io ho droidi, nessuno ha i conti Verizon attivi, come ho spostato il mio account Verizon ad un incredibile. Quindi, non posso testare la tua app, dal momento che non posso effettuare chiamate telefoniche (eccetto la 911, e la polizia non apprezzerà davvero la mia chiamata solo per testare il widget dell'app).

È possibile integrare alcune registrazioni di tipo Flurry per verificare se non si ottiene affatto l'Intento o se in qualche modo non soddisfa le proprie aspettative (ad esempio, EXTRA_STATE non è quello che si aspetta).

Oltre a ciò, è possibile utilizzare la classe per rilevare il DROID e far scattare l'allarme ogni N secondi per tutto il tempo in cui il telefono è attivo, anziché in base alla chiamata in arrivo. Questo masticherà più batteria e gli utenti DROID con la tua app che ti attaccheranno con un task killer fermeranno quegli allarmi. Questo è il motivo per cui lo farei solo per il DROID, o qualsiasi altro dispositivo che tu determini abbia un comportamento simile.

+0

Ecco alcune buone notizie: a partire da Froyo le API utilizzate dagli assassini di attività non rimuovono più gli allarmi poiché rompono altre app esattamente nel modo in cui descrivono. http://developer.android.com/reference/android/app/ActivityManager.html#restartPackage(java.lang.String) per ulteriori informazioni. – adamp

+0

Ciao Mark Murphy Per quanto ne so, Flurry non funziona per i widget: http://blog.zedray.com/2010/04/24/using-flurry-with-a-android-home-screen -widget/ In questo momento non ho idea di cosa potrebbe essere sbagliato con il mio widget, cioè potrebbe essere il dispositivo, il killer di servizio o forse l'API della rete CMDA. Se potessi riprodurre il problema con una seconda chiamata (su Verizon o un'altra rete) sarebbe fantastico, e riproducendo, intendo che l'interfaccia utente non dice "1 minuto fa" un minuto dopo aver effettuato una chiamata (senza che tu abbia fatto clic su il Widget). Grazie per il feedback. Mark –