Android-Einschaltknopfdruck empfängt nicht vom Empfänger
Ich versuche, den Tastendruck des Netzschalters zu empfangen, kann ihn jedoch nicht empfangen.
Empfänger.
public class PowerSendMessage extends BroadcastReceiver
{
public PowerSendMessage(Activity activity)
{
this.activity=activity;
}
static int countPowerOff = 0;
private Activity activity = null;
@Override
public void onReceive(Context context, Intent intent)
{
Log.d("Power Button", "Click");
if(intent.getAction().equals(Intent.ACTION_SCREEN_OFF))
{
countPowerOff++;
}
else if(intent.getAction().equals(Intent.ACTION_SCREEN_ON))
{
if(countPowerOff == 2)
{
Log.d("Power Click", "2 Times");
}
}
}
Manifest Eintrag
<receiver android:name=".PowerSendMessage">
<intent-filter>
<action android:name="android.intent.action.SCREEN_OFF"></action>
<action android:name="android.intent.action.SCREEN_ON"></action>
<action android:name="android.intent.action.ACTION_POWER_CONNECTED"></action>
<action android:name="android.intent.action.ACTION_POWER_DISCONNECTED"></action>
<action android:name="android.intent.action.ACTION_SHUTDOWN"></action>
</intent-filter>
</receiver>
Wo soll der Code eingefügt werden (bedeutet in welcher Datei)
IntentFilter filter = new IntentFilter(Intent.ACTION_SCREEN_ON);
filter.addAction(Intent.ACTION_SCREEN_OFF);
PowerSendMessage mReceiver = new PowerSendMessage(this);
registerReceiver(mReceiver, filter);
Irgendeine Erlaubnis erfordert für dieses Verfahren?
Ich denke, ich vermisse etwas, aber was ich nicht weiß, bitte helfen Sie mir.