Gestire l'interruzione avviata dall'utente delle app che eseguono servizi in primo piano

A partire da Android 13 (livello API 33), gli utenti possono completare un flusso di lavoro dal riquadro delle notifiche per interrompere un'app con servizi in primo piano in esecuzione, indipendentemente dalla versione dell'SDK target dell'app. Questa funzionalità, chiamata Task Manager, mostra un elenco di app che attualmente eseguono un servizio in primo piano.

Nella parte inferiore del riquadro delle notifiche è presente un pulsante che indica il numero di app attualmente in esecuzione in background. Quando premi questo pulsante, viene visualizzata una finestra di dialogo con i nomi di diverse app. Il pulsante Interrompi si trova a destra di ogni app.
Figura 1. Flusso di lavoro di Task Manager sui dispositivi con Android 13 o versioni successive.

Questo elenco è denominato App attive. Accanto a ogni app è presente un pulsante Interrompi. La Figura 1 mostra il flusso di lavoro di Task Manager su un dispositivo con Android 13.

Quando l'utente preme il pulsante Interrompi accanto alla tua app in Task Manager, si verificano le seguenti azioni:

  • Il sistema rimuove l'app dalla memoria. Di conseguenza, l'intera app si arresta, non solo il servizio in primo piano in esecuzione.
  • Il sistema rimuove la pila di attività precedenti dell'app.
  • La riproduzione di contenuti multimediali viene interrotta.
  • La notifica associata al servizio in primo piano viene rimossa.
  • L'app rimane nella cronologia.
  • I job pianificati vengono eseguiti all'ora programmata.
  • Le sveglie suonano all'ora o nell'intervallo di tempo programmato.

Per verificare che l'app si comporti come previsto durante e dopo l'interruzione da parte dell'utente, esegui il seguente comando ADB in una finestra del terminale:

adb shell cmd activity stop-app PACKAGE_NAME