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();
}
}
}