2012-11-07 20 views
7

Ho un'app per computer da bici che registra i dati mentre l'utente sta navigando. Ho avuto un utente segnalare un problema che non avevo preso in considerazione. Era fuori per una lunga corsa (100+ miglia), ma mentre fuori e la registrazione dei dati l'app è stata aggiornata tramite Google riproduce l'aggiornamento automatico. Questo purtroppo ha eliminato la registrazione a metà della app e l'utente ha perso i dati fino a quando non ha individuato l'accaduto e ha riavviato l'app.disabilita temporaneamente l'aggiornamento automatico

Idealmente, vorrei essere in grado di interrompere la programmazione automatica dell'aggiornamento automatico mentre l'app è la registrazione dei dati. Tutte le mie ricerche indicano che questo non è possibile ma potrei perdere qualcosa in modo da far conoscere a qualcuno un modo per farlo?

Data la soluzione, il meglio che posso fare è consigliare agli utenti di abilitare l'aggiornamento solo tramite l'opzione wifi nell'app Play, che in questo caso sarebbe di aiuto. Sfortunatamente uno dei punti chiave della mia app è che registrerà le sessioni in interni usando i sensori ANT +, quindi ho un buon numero di persone che lo usano con wifi attivo.

Modifica

sono riuscito a fare l'esperimento per vedere cosa succede me la notte scorsa. Avevo un'app in registrazione dei dati in background, quindi ho aggiunto una nuova versione a Google Play. Sfortunatamente non è stato preso automaticamente in automatico quando ho dovuto lasciare 10 ore, ma ho aperto l'app Play Store e ho trovato l'aggiornamento che non ha iniziato ad aggiornarsi automaticamente, ma l'ho forzato. L'atto di scaricare e installare la nuova versione è stato eliminato da ciò che era in corso. Era già morto prima che usassi la notifica per andare alla nuova versione.

+0

è possibile fare in modo che l'app scriva automaticamente i dati registrati nell'archivio con un periodo prefissato? – dumbfingers

+0

Non è chiaro esattamente cosa intendi ... – Ifor

risposta

1

Come dici tu stesso, non puoi fare quello che stai chiedendo. Puoi modificarlo cambiando le autorizzazioni ogni volta che aggiorni. Gli utenti verranno quindi invitati a farlo in modo regolare.

Non sono sicuro del "ciclo di vita" per le app aggiornate automatiche in esecuzione. Ma ho letto da qualche parte che non era la reinstallazione ma la riapertura dell'app che lo ha bloccato. In tal caso, è possibile impostare un flag che indichi che l'utente sta attualmente registrando e che al riavvio riprenda la registrazione. Ma ancora una volta abbiamo bisogno di sapere di più sul funzionamento interno delle attività/app che sono in esecuzione e ottenere un aggiornamento automatico (in realtà non pensavo che potesse accadere).

Modifica

Sulla base delle vostre scoperte direi che si deve gestire l'applicazione è chiusa nel OnDestroy ecc o/e assicurarsi di salvare tutto con insistenza. Quindi potrebbe essere necessario avere 2 app in cui 1 ascolta l'altro che viene reinstallato e, quando ciò accade, lo riavvia (there is an interesting discussion here). Se stai bersagliando api> = 12, anche l'azione di trasmissione ACTION_MY_PACKAGE_REPLACED potrebbe avere interesse.

+0

Proverò a indagare sull'aggiornamento e successivamente a fare clic sulla notifica per riavviare e vedere quale dose il danno. Ero originariamente in grado di rilevare un riavvio durante la registrazione e il tentativo di continuare. È stato problematico eseguire questo in modo pulito in caso di riavvio casuale. Il mio tentativo iniziale a volte sembrava aver iniziato a registrare nuovamente, ma in realtà non era riuscito in modo oscuro, quindi sono tornato a cercare di riordinare e consentire all'utente di ricominciare. Ho un'opzione per unire le giostre in modo da iniziare una nuova può essere lavorata in seguito. Potrei riprovarci cercando di continuare. – Ifor

+0

Bene quella sarebbe la soluzione che l'utente apprezzerebbe di più :) per favore, rispondi quando hai capito cosa succede. – Warpzit

+0

Sì, riferirò i miei risultati.Penso che dovrò testare per davvero con una delle mie altre app che non sono state aggiornate per un po '. Potrebbero essere alcuni giorni. – Ifor

Problemi correlati