2016-05-11 16 views
4

Ich versuche auf Power-Button-Ereignis mit obigen Code zugreifen.Es funktioniert gut für Volume_Up und Volume_Down Key, aber nicht für die Power/Lock Button.Why es passiert? Einige Beispiele oder Code vorschlagen.Will auf Power-Button-Ereignisse in Android zugreifen

+0

Mögliche Duplikate von [Wie in der Power-Taste in Android eingehängt?] (Http://StackOverflow.com/Questions/3703071/How-to-Hook-into-the-power-Button-in-android) – xAF

+0

Aber es funktioniert auch nicht. http://stackoverflow.com/questions/3703071/how-to-hook-into-the-power-button-in-android –

Antwort

4

Sie können nicht die Power-Taste drücken aus Ihrer Anwendung außer Kraft setzen. Wenn Sie jedoch den Netzschalter drücken, wird der Bildschirm ein-/ausgeschaltet. Sie können dies mit einem Rundfunkempfänger erkennen.

<receiver android:name=".MyBroadCastReciever"> 
<intent-filter> 
    <action android:name="android.intent.action.SCREEN_OFF"/> 
    <action android:name="android.intent.action.SCREEN_ON"/> 
</intent-filter> 
</receiver> 

MyBroadCastReciever.java

public class MyBroadCastReciever extends BroadcastReceiver { 

@Override 
public void onReceive(Context context, Intent intent) { 
    if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) { 
     //Take count of the screen off position 
    } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) { 
     //Take count of the screen on position 
    } 
} 
} 

Hoffe, das ist hilfreich für Sie.

Hinweis: -Für, dass mein Rundfunkempfänger immer im Hintergrund läuft. Ich habe einen Hintergrunddienst geschrieben, der kontinuierlich im Hintergrund startet und meinem Rundfunkempfänger Auftrieb gibt.

+0

aber Broadcast-Empfänger nicht im Hintergrund ausgeführt bedeutet, dass es ausgeführt wird, wenn die Anwendung ist im Vordergrund oder im Task-Manager Wie kann dieser Fall umgehen? –

1

Sie sollten die folgende Erlaubnis Ihrer Manifest-Datei hinzufügen:

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

+0

Diese Berechtigung wurde bereits hinzugefügt –