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
Antwort
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.
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? –
Sie sollten die folgende Erlaubnis Ihrer Manifest-Datei hinzufügen:
<uses-permission android:name="android.permission.PREVENT_POWER_KEY" />
Diese Berechtigung wurde bereits hinzugefügt –
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
Aber es funktioniert auch nicht. http://stackoverflow.com/questions/3703071/how-to-hook-into-the-power-button-in-android –