2015-07-22 12 views
5

Sto lavorando su un armadietto dell'app che ha alcuni servizi in background (per bloccare app). Sto usando Xiaomi Redmi Note 4g per lo sviluppo. Il MIUI ha un task manager integrato che può essere usato per uccidere le app in esecuzione. Quando uccido app con questo, tutti i servizi, i broadcastreceivers e gli allarmi vengono rimossi (come previsto da un task manager). Il mio requisito è di impedire che i miei servizi in background vengano rimossi dai killers delle attività, ma se l'utente naviga verso le impostazioni e si chiude forzatamente, il servizio dovrebbe interrompersi. Come ottengo questo?Riavviare i servizi uccisi (fermati dai task-killer) in Android come Whatsapp

Btw, so che non è impossibile ottenere questo perché Whatsapp e Truedialer (alcuni egs) lo stanno già facendo sulle ultime versioni di Android.

Le mie osservazioni da Whatsapp:

  • mi uccidono l'applicazione dal task manager
  • Tutti i servizi a Whatsapp vengono arrestati tranne che per "servizio di messaggistica"
  • La vista elenco delle applicazioni in esecuzione mostrano status "Riavvio"
  • Il servizio "AlarmService" si avvia (non è sicuro se MessagingService lo avvia o da un AlarmManager)
  • Dopo un intervallo di tempo, tutti i servizi sono attivi e in esecuzione

Nota: il timer su MessagingService non viene ripristinato e continua a scorrere. Ma se impongo di interrompere il servizio, non si riavvierà finché non avrò attivato manualmente l'app.

Osservazioni simili sono state fatte per TrueDialer.

Ho provato a replicare questo con START_STICKY, AlarmManager, BroadcastReceiver, ma non ha avuto esito positivo. Qualcuno può aiutarmi su questo? Voglio solo capire come Whatsapp sta ottenendo questo. Sentiti libero di chiedere se hai bisogno di maggiori informazioni.

+1

sto affrontando stesso problema nella mia richiesta di esecuzione del servizio correttamente in tutti i dispositivi tranne Xiaomi redmi. Il mio servizio richiede fino a 5 minuti per riavviarlo ma ho trovato qualcosa come whats app, facebook, l'applicazione instagram sono riavviati in pochi secondi, .it mostra in Running App .. – Hardik

risposta

1

Ho risolto il problema.

Soluzione per MIUI 7.0 => Sicurezza => Avvio automatico => selezionare applicazioni che si desidera eseguire in background => Riavviare Dopo il riavvio del dispositivo dovrebbe in grado di eseguire i servizi applicativi in ​​background come gli altri dispositivi Android fanno.

MIUI 4.0 settings

MIUI AutoStart Detailed Description

+0

Ha funzionato !! Grazie per la soluzione. Mi chiedo se questo è il caso anche per altri dispositivi. – devmaestro

+2

ancora l'utente ha bisogno di cambiare manualmente le impostazioni. C'è qualche opzione per eseguire app come whatsup, skype, instagram, hangout –

Problemi correlati