2013-08-09 9 views
10

So che i servizi non possono implementare il tasto Indietro e comprendo la logica. Ma c'è un app chiamato SideBar (su Play Store) che reagisce alla pressione dei tasti indietro. È un servizio che aggiunge una vista come sovrapposizione di sistema e rimuove la vista quando viene premuto il tasto Indietro. Qualcuno può spiegare come è fatto?Esiste un'alternativa onBackPressed() per un servizio?

Ecco un altro app che lo fa bene. Ho setacciato il web, ma non ho trovato una soluzione a questo problema. Qualche idea?

+0

Hai trovato una soluzione per questo problema? Sto affrontando una situazione simile. – Marlon

risposta

0

Probabilmente si utilizza system alert windows: il servizio crea e gestisce una finestra che viene aggiunta al gestore di finestre, su cui è impostato un set personalizzato callback.

+0

Potete per favore elaborare? Come si intercetta l'evento chiave nel servizio e lo si passa alla finestra o alla finestraManager? – Phat7

-2

here è un bel esempio di addview in Servizio e inoltre è possibile utilizzare gli ascoltatori se si desidera nei servizi.

stavo anche cercando l'implementazione degli ascoltatori in servizio e finalmente l'ho trovata.

ricordate di aggiungere il permesso

<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"/> 

e aggiungere la classe di servizio

<application> 
. 
. 
    <service android:name=".YourServiceClass"></service> 
. 
. 
</application> 

in AndroidManifest.xml.

Problemi correlati