Android AlarmManager non funziona su alcuni dispositivi quando l'applicazione è chiusa

Sto provando a eseguire IntentService come tale da AlarmManager setRepeating() per each mezz'ora chiamerà un lancio ampio e da un ampio cast al servizio di intenti in servizio sarà eseguita una certa funzionalità

Ma, all'inizio, l' AlarmManager non si è triggersto mentre l'applicazione è in stato chiuso.

  • Installazione silenziosa su dispositivi Android
  • Barra di stato non visualizzabile - 5.0 Lollipop Android Studio: (AppCompat-v7: r21)
  • leggere i metadati EXIF ​​di jpeg android dal richiamo delle immagini
  • Finestra di dialogo DataPicker del divisore Android
  • C'è un modo per aggiungere parametro di query a each richiesta con Retrofit 2?
  • Android lancia il browser senza specificare un URL
  • Quando la mia applicazione è in esecuzione o in stato di background, l'allarme funziona bene e quando chiudo l'applicazione, l'allarme non funziona in alcun dispositivo

    Cosa devo fare per eseguire l'allarme anche quando l'applicazione è chiusa?

    3 Solutions collect form web for “Android AlarmManager non funziona su alcuni dispositivi quando l'applicazione è chiusa”

    Dalla documentazione di setRepeating() :

    A partire da API 19, tutti gli allarmi ripetuti sono inesatti.

    Inoltre, setRepeating() non funziona con Doze .

    È necessario utilizzare allarmi esatti (impostati dal metodo AlarmManager appropriato basato sul livello API del dispositivo):

     if (Build.VERSION.SDK_INT >= 23) { alarmManager.setExactAndAllowWhileIdle(AlarmManager.RTC_WAKEUP, triggerTime, intent); } else if (Build.VERSION.SDK_INT >= 19) { alarmManager.setExact(AlarmManager.RTC_WAKEUP, triggerTime, intent); } else { alarmManager.set(AlarmManager.RTC_WAKEUP, triggerTime, intent); } 

    E ripianirli each volta che sparano.

    NOTA: Alcuni produttori (ad esempio Xiaomi o Huawei) possono utilizzare alcune funzioni di risparmio batterie che possono impedire l'avvio di allarmi e non può essere bypassato a livello di programmazione, come @Opiatefuchs indicato nel precedente commento.

    Ora i dispositivi di giorni stanno arrivando con maggiore sicurezza nel context del consumo di energia della batteria. Per impostazione predefinita, il dispositivo mantiene quasi tutte le applicazioni in modalità di risparmio energetico. Significa che in alcuni dispositivi il tuo lavoro di background (Location, Alarm manager) non funziona non appena esci dall'app, in alcuni dispositivi i task di background non functionranno dopo un limite di soglia di batteria (come il 13%). Dunque, è necessario mantenere la tua applicazione dalla modalità di risparmio energetico per eseguire senza problemi la tua applicazione anche in background. È ansible farlo per diversi produttori come ..

    1. Per Xiomi

    -> Vai alla batteria -> Potenza -> App saver batteria -> la tua applicazione Seleziona ora Nessuna restrizione (per impostazioni Sfondo), quindi Consenti opzione per Posizione background

    -> Per avviare automaticamente l'applicazione dopo il boot -> Vai all'applicazione Security -> autorizzazioni -> Avviare automaticamente e controllare l'applicazione

    2. Per Samsung

    – >> Samsung Smart Manager App utilizzata per interrompere tutto il lavoro bg dopo 3 giorni se non viene all'applicazione. Distriggers questa funzionalità per la tua applicazione. Vai all'applicazione -> Batteria -> Dettagli (App power saving panal) -> fai clic sull'applicazione e seleziona disabilita

    Per altri dispositivi dovrebbero essere le stesse opzioni di potenza sia nelle opzioni di impostazione direttamente o di alcune applicazioni per gestirlo.

    Grazie

    per il telefono Lenovo: –

    devi andare nell'impostazione -> application-> select app-> deseleziona Restrict to launch

    ora sarà lavoro in background come stato ucciso

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.