android: receptor de transmissão para tela ligada e tela desligada

Eu estava imaginando se é possível registrar um receptor de transmissão que detecta a Tela ON / OFF no manifesto do aplicativo. A razão pela qual eu não gosto do método programável é que ele exige que o aplicativo esteja em execução para detectar isso, enquanto: "Os aplicativos com receptores de transmissão registrados no manifesto não precisam estar em execução quando o Intent é transmissão para os receptores executarem "(fonte: livro Professional Android 2 Application Development)

Meu aplicativo é na verdade um aplicativo de tela de bloqueio que, usando o modo programável, precisa estar em execução o tempo todo: S

Existe uma maneira de contornar isso

Estou tentando o seguinte no manifesto:

<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>

e classe MyBroadCastReciever simples:

public class MyBroadCastReciever extends BroadcastReceiver {

    @Override
    public void onReceive(Context context, Intent intent) {
        if (intent.getAction().equals(Intent.ACTION_SCREEN_OFF)) {
            Log.i("Check","Screen went OFF");
            Toast.makeText(context, "screen OFF",Toast.LENGTH_LONG).show();
        } else if (intent.getAction().equals(Intent.ACTION_SCREEN_ON)) {
            Log.i("Check","Screen went ON");
            Toast.makeText(context, "screen ON",Toast.LENGTH_LONG).show();
        }
    }
}

questionAnswers(4)

yourAnswerToTheQuestion