Me preguntaba si es posible registrar un receptor de difusión que detecte la pantalla ON/OFF en el manifiesto de la aplicación. La razón por la que no me gusta el método programable es que requiere que la aplicación se ejecute para detectar tal cosa, mientras que: "Las aplicaciones con receptores de difusión registrados en el manifiesto no tienen que estar ejecutándose cuando la intención es transmitido por los receptores de ejecución"(fuente: Profesional Android libro de desarrollo 2 Aplicación)android: receptor de difusión para pantalla y pantalla
Mi aplicación es en realidad una aplicación de pantalla de bloqueo, que mediante el uso de la forma programable deberá estar funcionando todo el tiempo: S
¿es Hay una forma de evitarlo?
Estoy intentando lo siguiente en el manifiesto:
<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>
y simple clase MyBroadCastReciever:
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();
}
}
}
¿me puede dar una muestra que funcione? Quiero hacer algo cuando bloqueo o desbloqueo de pantalla. –