Come rilevare attività / inattività dell'utente nel servizio Android / applicazione in background - dalla stessa o da altre applicazioni?
Voglio sapere che l'utente smette di toccare lo schermo e non è impegnato con un'altra attività per mostrare un popup di notifica. Non sono sicuro che non ci sia altro metodo che usare AccessibilityService.
risposte:
1 per risposta № 1Uno dei modi è quello di sapere che dalla lettura dei registri di Android
0 per risposta № 2
Utilizzare un ricevitore di avvio per configurare AlarmManager(e ovviamente anche controllare di avviare il polling dalla tua attività principale, nel caso in cui l'app sia installata e il sistema non sia avviato) e fare in modo che AlarmManager invii un intent per un altro ricevitore.
Penso che abbiano risposto in questa domanda per fare ciò che stai cercando: android: esecuzione di un'attività in background con AlarmManager
0 per risposta № 3
Definire un'interfaccia in attività e servizi. in oncreate of activity si fa riferimento all'attività nel metodo di servizio. Ora hai un riferimento alle attività per l'intera durata del servizio.
un altro modo per farlo è la classe di applicazione, la stessa classe di applicazione è condivisa dall'attività e dal servizio, in modo da poterli utilizzare l'uno dall'altro utilizzando la classe dell'applicazione.
Se vuoi vedere dalle applicazioni, usa broadcastreceivers che è l'unico wau