2012-05-04 10 views
13

Potrebbe pubblicare un codice semplice per gestire l'evento di arresto. Ho bisogno di manifest e ricevente.gestione evento di arresto del telefono in Android

Ho bisogno di quanto segue: Ho un servizio in esecuzione in background e voglio rilevare lo spegnimento del telefono per renderlo in modalità silenziosa in modo che la terribile musica dell'operatore non suoni.

Dopo aver riavviato il telefono (ho già il ricevitore di avvio) il servizio abiliterà l'audio del telefono.

risposta

27

avete bisogno di ascoltare per la seguente azione intento nel ricevitore:

<action android:name="android.intent.action.ACTION_SHUTDOWN" /> 

per renderlo compatibile con un po 'HTC (o altro) dispositivi che offrono funzionalità di spegnimento rapido, è necessario includere le seguenti azione anche con lo stesso intento-filtro:

<action android:name="android.intent.action.QUICKBOOT_POWEROFF" /> 

Per ulteriori informazioni, leggere this

1

final String public static ACTION_SHUTDOWN

Azione broadcast: il dispositivo si sta arrestando. Questo viene trasmesso quando il dispositivo viene spento (completamente spento, non in modalità di sospensione). Una volta completata la trasmissione, l'arresto finale proseguirà e tutti i dati non salvati verranno persi. Normalmente, le app non dovranno gestirle, poiché anche l'attività in primo piano verrà messa in pausa.

Questo è un intento protetto che può essere inviato solo dal sistema.

Costante Valore: "android.intent.action.ACTION_SHUTDOWN"

E questo ACTION_SHUTDOWN può differire da dispositivo a dispositivo

come HTC sua android.intent.action.QUICKBOOT_POWEROFF

5
<receiver android:name=".ShutdownReceiver"> 
    <intent-filter> 
     <action android:name="android.intent.action.ACTION_SHUTDOWN" /> 
     <action android:name="android.intent.action.QUICKBOOT_POWEROFF" /> 
    </intent-filter> 
</receiver> 
+4

Eclipse mi dice questo quando aggiungo il permesso DEVICE_POWER: "Permesso è concesso solo alle app di sistema " – gonzobrains

Problemi correlati