2012-05-04 12 views
13

Możesz wysłać prosty kod do obsługi zdarzenia zamknięcia. Potrzebuję manifestu i odbiorcy.Zdarzenie zamykania telefonu podczas obsługi w systemie Android

Potrzebuję: Mam usługę działającą w tle i chcę wykryć wyłączenie telefonu, aby zrobić to w trybie cichym, aby straszna muzyka operatora nie grała.

Po ponownym uruchomieniu telefonu (mam już na odbiorniku rozruchowym) usługa uruchomi dźwięk telefonu.

Odpowiedz

27

Trzeba słuchać w następnym zamiarem działania w odbiorniku:

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

aby był on zgodny z jakimś HTC (lub innych) urządzeń, które oferują funkcję szybkiego wyłączania zasilania, trzeba zaliczyć akcja też z tym samym zamiarem filtra:

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

Aby uzyskać więcej informacji, przeczytaj this

1

public static final String ACTION_SHUTDOWN

Działanie transmisji: urządzenie się wyłącza. To jest nadawane, gdy urządzenie jest wyłączane (całkowicie wyłączone, nie śpiące). Po zakończeniu transmisji nastąpi ostateczne zamknięcie i utracą wszystkie niezapisane dane. Aplikacje zwykle nie muszą tego obsługiwać, ponieważ działanie na pierwszym planie również zostanie wstrzymane.

Jest to chroniona funkcja, którą można wysłać tylko przez system.

Stała wartość: "android.intent.action.ACTION_SHUTDOWN"

I to ACTION_SHUTDOWN mogą różnić się od urządzenia do urządzenia

Podobnie jak HTC jego 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 mówi mi to, kiedy dodać pozwolenie DEVICE_POWER: „Permission jest przyznawany tylko aplikacjom systemowym " – gonzobrains

Powiązane problemy